C++ 怎样从TXT文件中读取数据存到结构体数组中

rt

首席需要用到fstream头文件,然后用ifstream就可以了。
我给LZ写一个例子,lz看一下就明白了:

strcut stockType
{
string personAddress;
string personCity;
string personState;
int personZIP;
};

void addressType :: getData()
{
ifstream infile;

int index;

string inputFile;

stockType addressTypeList[NO_OF_PERSON];

cout<<"Enter the file path: ";
cin>>inputFile; //输入txt文件路径
cout<<endl;

infile(inputFile.c_str()); //infile按照指定路径读取txt文件

for(index = 0; index < NO_OF_PERSON; index++)//读取txt文件至struct
{
infile>>addressTypeList[index].personAddress;
infile>>addressTypeList[index].personCity;
infile>>addressTypeList[index].personState;
infile>>addressTypeList[index].personZIP;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-29
直接给你个参考:(你的文件必须在当前的目录下,名为test.txt)#include<iostream>#include<fstream>usingnamespacestd;structTEST{charname[10];intscore[3];}test[10];intmain(){ifstreamin("test.txt");intn=0;while(!in.eof()){in>>test[n].name;in>>test[n].score[0];in>>test[n].score[1];in>>test[n].score[2];n++;}in.close();for(inti=0;i<n;i++){cout<<test[i].name<<""<<test[i].score[0]<<""<<test[i].score[1]<<""<<test[i].score[2]<<endl;}}本回答被网友采纳
第2个回答  2019-07-22
首席需要用到fstream头文件,然后用ifstream就可以了。
我给LZ写一个例子,lz看一下就明白了:
strcutstockType
{
stringpersonAddress;
stringpersonCity;
stringpersonState;
intpersonZIP;
};
voidaddressType::getData()
{
ifstreaminfile;
intindex;
stringinputFile;
stockTypeaddressTypeList[NO_OF_PERSON];
cout<<"Enterthefilepath:";
cin>>inputFile;//输入txt文件路径
cout<<endl;
infile(inputFile.c_str());//infile按照指定路径读取txt文件
for(index=0;index<NO_OF_PERSON;index++)//读取txt文件至struct
{
infile>>addressTypeList[index].personAddress;
infile>>addressTypeList[index].personCity;
infile>>addressTypeList[index].personState;
infile>>addressTypeList[index].personZIP;
}
}
第3个回答  2008-09-01
解决方法一:
做一个解析函数。
逐个字符读取,对不同类型做分类处理。

抛石头引什么来着,
waiting...
第4个回答  2008-09-01
直接用读文件函数对文件进行读,并将读到的数据存在数组中
相似回答