Пожалуйста, скажите мне, что я здесь не так делаю. Что я хочу сделать, это:
1. Имеет текстовый файл с четырьмя числами, каждый из которых имеет 15 цифр:
std::ifstream file("numbers.txt",std::ios::binary);
Я пытаюсь прочитать эти числа в моем массиве:
char num[4][15];
И то, что я думаю, я делаю так: до тех пор, пока вы не дойдете до конца файлов, пишите каждую строку (максимум 15 символов, заканчивающихся на '\ n') в num [строки]. Но это несколько не работает. Во-первых, он правильно читает только первое число, rest это просто "" (пустая строка), а во-вторых, file.eof () тоже не работает правильно. В текстовом файле, который я представляю ниже этого кода, я достиг строки, равной 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])
}
}
Это содержимое моего текстового файла:
111111111111111
222222222222222
333333333333333
444444444444444
приписка
Я использую VS2010 sp1