当涉及到类和对象时,我在弄清楚如何正确使用 getline()
时遇到了问题。我需要读取 string
类型的行,然后使用 push_back
将它们添加到 myVec
vector 中。这是我目前拥有的:
vector<myClass> read_file(string filename)
{
vector<myClass> myVec;
myClass line;
ifstream inputFile(filename);
if (inputFile.is_open())
{
while (inputFile.getline(inputFile, line)) // Issue it here.
{
myVec.push_back(line);
}
inputFile.close();
}
else
throw runtime_error("File Not Found!");
return myVec;
}
假设类 myClass
已经实现。
感谢您的帮助。
最佳答案
您对 getline
的使用与签名不匹配 - 您的参数类型错误。
istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );
如果你想根据你读取的字符串向vector中添加一个myClass
元素,你必须先构造它,然后再推回去。
关于c++ - 使用 getline() 从文本文件中读入行并将 push_back 读入对象 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22390500/