ここで私が間違っていることを教えてください。私がやりたいことはこれです:
1。4つの数字とこの数字のそれぞれが15桁のtxtファイルを持っています:
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
私はVS2010sp1を使用しています