我必须逐行读取.txt文件,并用逗号分隔每行的内容,这样我就可以用每一行创建一个对象。问题是,我已经找到了如何阅读每一行以及如何用一个字符(逗号,点,线等)分隔内容。问题是当我尝试用另一个实现一个时,一切都崩溃了
最终结果应该是如果我在文本中,例如:
135875,John,Smith
460974,Jane,Doe
我读取每一行并用包含每个人的信息的对象创建链接列表,因此在读完每一行后,我可以使用从.txt中提取的数据调用构造函数
user(int ID,String Name,String LastName);
答案 0 :(得分:0)
您没有显示您的代码,因此我无法知道您的代码有什么问题。但是这里有一个代码片段来读取文件并执行您需要执行的操作。
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
ifstream ifs("test.txt");
string line;
while (getline(ifs, line))
{
istringstream iss(line);
int id;
string tmp,name,lastname;
getline(iss, tmp, ',');
// stoi is only supported in c++11
// Alternatively, you can use id = atoi(tmp.c_str());
id = stoi(tmp);
getline(iss, tmp, ',');
name = tmp;
getline(iss, tmp, ',');
lastname = tmp;
cout << "id: " << id << endl;
cout << "name: " << name << endl;
cout << "lastname: " << lastname << endl;
}
ifs.close();
return 0;
}