我正在编写一个读取文件然后将其作为字符数组发送到另一个类的 C++ 程序。因为字符数组只能通过指针传递,所以所有大小都会丢失。
它将读取的文件将是一个文本文件。文本文件是否为空终止?
最好我不想使用 Vector,因为我真的不需要它的任何功能,而是数组的大小。
不。
文件具有已知长度,因此它们不需要任何终止符字节。
没有文本文件不是 NULL 终止的。我认为您需要检查 EOF(文件结尾)
cin.eof()
是您正在搜索的内容。如果到达文件末尾,则返回 true。
不,他们不是。但是许多从文件中读取字符串的 C/C++ 函数将零终止附加到返回的数据。
使用 eof 而不是查找空字符...例如:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream iFile("myfile.txt"); // myfile.txt has integers, one per line
while (!iFile.eof())
{
int x;
iFile >> x;
cerr << x << endl;
}
return 0;
}