ここには、私が書いているプログラムの不完全な部分があります。要約すると、プログラムは入力ファイル(名前とIDから一連の数字)から情報を取り出し、数学を行い、その答えを出力ファイルに出力します。今、プログラムは名前とIDを印刷し、それを何度も何度も印刷します。 ファイルの次の行に移動するC++
教授は、私はgetlineのを使用する必要があり、それdoesntのは私
do
{
infile >> name >> Id;
cout<< name << Id << std::endl;
hworkgrade = CalHworkGrade(grade1, infile);
printRecord(name, Id, outfile);
}
while(!infile.eof());
にどんな意味をなすことを言う
の上に私はそれは、次の行に移動名前とIDを印刷したファイルがあるまで繰り返したいです
入力:
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());
*すべての行のデータを読んでみませんか?そして、あなたがそれを望んでいなければ、一度に1行を読むために['std :: getline'](http://en.cppreference.com/w/cpp/string/basic_string/getline)を使わないのはなぜですか? –
私はそれを以前に試みましたが、うまくいきませんでした。私はおそらくそれを間違った。あなたは私に手を差し伸べることができますか? – Morgan
これは簡単です: 'while(std :: getline(infile、line)){/ * std :: istringstreamに行を挿入し、その文字列からデータを抽出する* /}' –