Как назначить целое число в строке в текстовом файле переменной в c? - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть текстовый файл, в котором числа подавались с помощью fprintf ("% d \ n", var); Теперь структура файла: номер 1 номер 2 номер 3 номер 4 и т. д. я хочу назначить номер 1 для var_x, номер 2 для var_y, номер 3 для var_z, затем распечатать все переменные, затем присвоить номер 4 для var 1 и т. д. Как мне это сделать?

Я пробовал sscanf fscanf и т. Д., Но он просто печатает случайные числа

вот как я заполняю числа в файле:

      fprintf(save_file,"%d\n",xaxis);
      fprintf(save_file,"%d\n",yaxis);
      fprintf(save_file,"%d\n",getpixel(xaxis,yaxis));

так выглядит файл результата:

30
20
0
31
21
15
32
22
0 etc

Это то, что я сейчас пытаюсь:

sscanf(open_file,"%d",&read_x);
sscanf(open_file,"%d",&read_y);
sscanf(open_file,"%d",&read_colour);
while(!feof(open_file))
{
   printf("%d %d %d",read_x,read_y,read_colour);
   sscanf(open_file,"%d",read_x);
   sscanf(open_file,"%d",read_y);
   sscanf(open_file,"%d",read_colour);

}

ожидаемый результат:

30 20 0
31 21 15
32 22 0

1 Ответ

1 голос
/ 15 апреля 2019

Вы можете найти все 3 значения одновременно:

#include <stdio.h>

int main() {
    FILE* f = fopen("input", "r");

    int x, y, z;

    while (fscanf(f, "%d %d %d", &x, &y, &z) > 0)
        printf("%d %d %d\n", x, y, z);
}
...