我有一个打开的输入文件流。它能够成功打开另一个文件(一个txt文件)。通过对下面的代码进行调整,我可以读取并输出另一个 txt 文件(所有 ASCII 字符,只是字母)就好了。但是,我正在使用以下功能。这导致读取一行,而实际上是三行。我想知道为什么。数组的大小不是问题,即,使它变大似乎并不能解决任何问题。
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) 会导致只读取一行,而其他行就像一个魅力(可以这么说)。