请告诉我我在这里做错了什么。我想要做的是:
1.有四个数字的 txt 文件,每个数字都有 15 位数字:
std::ifstream file("numbers.txt",std::ios::binary);
我正在尝试将这些数字读入我的数组:
char num[4][15];
我在想我正在做的是:只要你没有到达文件末尾,就将每一行(最多 15 个字符,以 '\n' 结尾)写入 num[lines]。但这有点行不通。首先它只正确读取第一个数字,其余只是“”(空字符串),其次 file.eof() 似乎也不能正常工作。在我在此代码下方显示的 txt 文件中,我达到了等于 156 的行数。这是怎么回事?
for (unsigned lines = 0; !file.eof(); ++lines)
{
file.getline(num[lines],15,'\n');
}
所以整个“例程”看起来是这样的:
int main()
{
std::ifstream file("numbers.txt",std::ios::binary);
char numbers[4][15];
for (unsigned lines = 0; !file.eof(); ++lines)
{
file.getline(numbers[lines],15,'\n');// sizeof(numbers[0])
}
}
这是我的 txt 文件的内容:
111111111111111
222222222222222
333333333333333
444444444444444
PS
我正在使用VS2010 sp1