如何在文本文件的一行中将整数分配给c中的变量?

时间:2019-04-15 15:15:58

标签: c pointers file-handling turbo-c

我有一个文本文件,其中的数字由fprintf(“%d \ n”,var)提供;现在文件的结构是: 1号 2号 3号 4等 我想将数字1分配给var_x,将2分配给var_y,将3分配给var_z,然后打印所有变量,然后将4分配给var 1,依此类推?

我尝试了sscanf fscanf等,但是它只打印随机数

这是我在文件中填写数字的方式:

wgResult.Wait()

结果文件的外观如下:

      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);

}

1 个答案:

答案 0 :(得分:1)

您可以一次fscanf所有三个值:

#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);
}