這裏是一個程序,我寫的不完整的部分。總而言之,程序從輸入文件(名稱和ID然後是一系列數字)中獲取信息,然後將輸出文件打印出來。現在程序打印名字和ID,然後一遍又一遍地打印數字。我想它移動到下一行,打印的姓名和ID,並重復,直到該文件是在移動到下一行的文件C++
教授說,我應該使用函數getline,但那不作出任何意義,我
do
{
infile >> name >> Id;
cout<< name << Id << std::endl;
hworkgrade = CalHworkGrade(grade1, infile);
printRecord(name, Id, outfile);
}
while(!infile.eof());
輸入:
Morgan 12388671 100 100 100 John 67894 100 100 100
輸出:
Vagts,Morgan 100100 100100 100100 100100 100100 (300,000 more times)
更新:
do
{
while (getline (infile, line))
{
istringstream iss(line);
iss >> name >> Id;
cout<< name << Id;
hworkgrade = CalHworkGrade(grade1, infile);
printRecord(name, Id, outfile);
}
}
while(!infile.eof());
爲什麼不讀取*全部*行上的數據?如果你不需要它,那麼爲什麼不使用['std :: getline'](http://en.cppreference.com/w/cpp/string/basic_string/getline)一次讀取一行? –
我早些時候嘗試過,但沒有奏效。我可能做錯了。你能幫我一下嗎? – Morgan
很簡單:'而(的std ::函數getline(infile中,線)){/ *在的std :: istringstream放線,並從該字符串流*提取數據/}' –