c++读取文件是以空格分隔的,例如我写入一个文件
string name1 = "明明";
string name2 = "睛睛";
int age1 = 13;
int age2 = 14;
ofstream ofs;
ofs.open("test.txt", ios::out);
ofs << "第一个人:" << name1 << " ";
ofs << "年龄:" << age1 << endl;
ofs << "第二个人:" << name2 << " ";
ofs << "年龄:" << age2 << endl;
ofs.close();
读取的时候,通过这种方式1
ifstream ifs;
ifs.open("test.txt", ios::in);
if (!ifs.is_open())
{
cout << "失败" << endl;
return;
}
string name1;
string name2;
string name3;
string name4;
while (ifs >> name1&& ifs >> name2 && ifs >> name3 && ifs >> name4)
{
cout << name1 << endl;
}
ifs.close();
输出为
通过第二种方式,
string name1;
while (ifs >> name1)
{
cout << name1 << endl;
}
输出为
可以看出两次的结果相同,所以在提取需要的数据时,使用第一种方式就可以了。同时,读取文件只能用定义string方式读取。