如何将文本文件中一行中的整数分配给 c 中的变量?
How do I assign an integer in a line in a text file to a variable in c?
我有一个文本文件,其中的数字由 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
您可以一次扫描所有 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);
}
我有一个文本文件,其中的数字由 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
您可以一次扫描所有 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);
}