Чтение значений int из текстового файла в C
У меня есть текстовый файл, содержащий следующие три строки:
12 5 6
4 2
7 9
Я могу использовать функцию fscanf
для чтения первых трех значений и сохранения их в 3 переменных. Но я не могу прочитать остальное.
Я попытался использовать функцию fseek
, но работает только в двоичных файлах.
Пожалуйста, помогите мне сохранить все значения в целых переменных.
Ответы
Ответ 1
Простое решение с использованием fscanf
:
void read_ints (const char* file_name)
{
FILE* file = fopen (file_name, "r");
int i = 0;
fscanf (file, "%d", &i);
while (!feof (file))
{
printf ("%d ", i);
fscanf (file, "%d", &i);
}
fclose (file);
}
Ответ 2
Как насчет этого?
fscanf(file,"%d %d %d %d %d %d %d",&line1_1,&line1_2, &line1_3, &line2_1, &line2_2, &line3_1, &line3_2);
В этом случае пробелы в fscanf
соответствуют нескольким вхождениям любого пробела, пока не будет найден следующий токен.