用 ifstream 做有格式读比较困难。
可以用 ifstream 的 getline 读1行 char [],
然后 用 sscanf() 读到 TData *pTData 里。
假定 前面 头文件 包含了:
#include
#include
#include
using namespace std;
#include
----------
添加的语句在函数里:
int Syn_Read(TData *pTData){
int result=0; ifstream inf; inf.open("1.txt", ifstream::in);
char s[1000];
inf.getline(s,1000);
sscanf(s,"%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%s",
pTData->A, pTData->B, pTData->C,pTData->D,pTData->E,pTData->F,
pTData->G, pTData->H, pTData->I,pTData->J, pTData->K);
return result;
}
主函数:
main()
{
TData t;
Syn_Read(&t);
cout << t.A << "....." << t.K <
}
窍门 是 sscanf 那行。