入力ファイルストリームを開いています。他のファイル(txtファイル)を正常に開くことができます。そして、すぐ下のコードを調整することで、他のtxtファイル(すべてASCII文字、文字のみ)を読み取って出力することができます。しかし、私は以下の機能をいじっていました。これにより、実際には3行あるのに、1行が読み取られます。理由を知りたい。配列のサイズは問題ではありません。つまり、配列を大きくしても何も修正されないようです。
void DispFile(fstream& iFile)
{
auto char fileChar[256];
while (inFile.get(fileChar,256))
{
cout << fileChar;
}
}
動作するコードは次のとおりです。
void DispFile(fstream& iFile)
{
auto char fileChar[256];
while (inFile.getline(fileChar,256))
{
cout << fileChar;
cout << endl;
}
}
また
void DispFile(fstream& iFile)
{
char file;
while (inFile.get(file)
{
cout << file;
}
}
では、なぜinFile.get(array、dimension)を使用すると、1行だけが読み取られ、他の行は(いわば)魅力のように機能するのでしょうか。