3

入力ファイルの要素を使用しながら、関数で両方を行うことはできますか?結果を出力ファイルに同時に書き込むことはできますか?

while文の中は真ですか?

void solve(string inputFileName, string outputFileName)
{
//declaring variables
string filename = inputFileName;

//Open a stream for the input file
ifstream inputFile;
inputFile.open( filename.c_str(), ios_base::in );

//open a stream for output file
outputfile = outputFileName;
ofstream outputFile;
outputFile.open(outputfile.c_str(), ios_base::out);

while(!inputFile.eof())
{
    inputFile >> number;    //Read an integer from the file stream
    outputFile << number*100 << "\n"
    // do something

}

//close the input file stream
inputFile.close();

//close output file stream
outputFile.close();
}
4

2 に答える 2

2
while(!inputFile.eof())

次の操作が成功するかどうかではなく、前の操作が失敗したかどうかをテストするため、うまく機能しません。

代わりに試してください

while(inputFile >> number)
{
    outputFile << number*100 << "\n"
    // do something

}

各入力操作が成功するかどうかをテストし、読み取りが失敗したときにループを終了します。

于 2012-11-01T20:40:33.927 に答える
1

入力ストリームと出力ストリームは互いに独立しているため、ステートメントでそれらを混ぜ合わせても効果はありません。

于 2012-11-01T20:40:15.103 に答える