fstream和字符串inlcusions位于.h文件中。我已经阅读了多个人的问题,但似乎无法将其应用到我自己的问题上。我试过放入infile.getfile(dataFile,line))无济于事。 dataFile只是一个员工列表。我仍然使用getfile(dataFile,line)
获得相同的重载函数实例{
ifstream infile;
infile.open(dataFile);
if(!infile.good())
{
cout << "File is not open";
}
else
{
int i = 0;
while(!infile.good())
{
string line;
while (getline(dataFile, line))
{
if (line[0] == 'h' )
{
HospitalEmployee newEmp;
}
}
}
}
}
答案 0 :(得分:3)
while (getline(dataFile, line))
第一个参数是流,第二个参数是将分配行的字符串。你得到了第二个参数,但第一个参数是string
对象,而不是从中提取行的文件流。您应该传递流inFile
:
while (getline(inFile, line))
// ^^^^^^
答案 1 :(得分:1)
您的infile.open(dataFile)
表示dataFile
是字符串文件名,infile
是流。
因此,代替getline(dataFile, line)
,您的意思是getline(infile, line)
。
错字,我确定。