[英]Reading and outputting integers from a file in C
我创建了一个包含以下内容的文件:'12 7 -14 3 -8 10'
我想输出整数类型的所有数字。 但是在编译并运行程序之后,我只得到第一个数字“ 12”
这是我的代码:
#include <stdio.h>
main(){
FILE *f;
int x;
f=fopen("C:\\Users\\emachines\\Desktop\\ind\\in.txt", "r");
fscanf(f, "%d", &x);
printf("Numbers: %d", x);
fclose(f);
}
我究竟做错了什么?
您可以使用fscanf
从文件中扫描一个整数并进行打印。您需要循环才能获取所有整数。 fscanf
返回成功匹配和分配的输入项目数。在您的情况下, fscanf
在成功扫描时返回1。 因此,只需从文件读取整数,直到fscanf
返回0,如下所示:
#include <stdio.h>
int main() // Use int main
{
FILE *f;
int x;
f=fopen("C:\\Users\\emachines\\Desktop\\ind\\in.txt", "r");
if(f==NULL) //If file failed to open
{
printf("Opening the file failed.Exiting...");
return -1;
}
printf("Numbers are:");
while(fscanf(f, "%d", &x)==1)
printf("%d ", x);
fclose(f);
return(0); //main returns int
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.