#include "stdafx.h"
#include <string>
#include <map>
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
struct sInfo
{
char szName[64];
char szValue[32];
char szOrigins[64];
};
bool UDgreater( sInfo elem1, sInfo elem2 )
{
return atoi(elem1.szValue) < atoi(elem2.szValue);
}
int _tmain(int argc, _TCHAR* argv[])
{
//数据读取
vector<sInfo> m_product;
ifstream inFile("./SRC_DATA.txt");
string sLine;
getline(inFile, sLine, '\n');
sInfo info;
vector<string> vTemp;
string sTitle = sLine;
while (!inFile.eof())
{
getline(inFile, sLine, '\n');
int i = 0, j = 0;
vTemp.clear();
while(i = sLine.find(" ", i))
{
string strr = sLine.substr(j, i - j);
vTemp.push_back(strr);
if (-1 == i)
break;
++i;
j = i;
}
strncpy(info.szName, vTemp[0].c_str(), sizeof(info.szName));
strncpy(info.szValue, vTemp[1].c_str(), sizeof(info.szValue));
strncpy(info.szOrigins, vTemp[2].c_str(), sizeof(info.szOrigins));
m_product.push_back(info);
}
inFile.close();
//数据处理
sort(m_product.begin(), m_product.end(), UDgreater);
//数据写入
ofstream outFile("./SRC_DATA_result.txt");
outFile<<sTitle<<'\n';
for (int i = 0; i < m_product.size(); ++i)
{
outFile<<m_product[i].szName<<" "
<<m_product[i].szValue<<" "
<<m_product[i].szOrigins<<'\n';
}
outFile.close();
return 0;
}
SRC_DATA.txt:
name price origins
car 50 china
mobile 10 usa
auto 30 russia
SRC_DATA_result.txt:
name price origins
mobile 10 usa
auto 30 russia
car 50 china