
[英]C Program - Scanning in a String using scanf but reading from .txt file
[英]Reading from txt file in C using scanf
我有一个txt文件,我想从中读取。 我知道我将必须阅读20行(每行包含3个数字变量,例如10 5 6等)
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int x,y,z;
int counter = 0;
FILE *fid;
fid = fopen(argv[1],"r");
while(counter<20){
sscanf(fid,"%d%d%d",&x,&y&z);
//some operations made on x,y,z
counter=counter+1;
}
fclose(fid) ;
return 0;
}
不幸的是,它不起作用。 我想浏览文件并使用sscanf(fid,"%d%d%d",&x,&y,&z)
20次。 如果有人可以告诉我如何使它工作,我将不胜感激。
sscanf
接受const char *
类型的第一个参数。您将第一个参数作为FILE *
传递。
您可以使用:
fscanf
要么
sscanf
fgets
sscanf
应该更改为fscanf
fscanf
扫描文件。
sscanf
扫描字符串。
fscanf
函数将数据从指定流的当前位置读取到参数列表中的条目给定的位置(如果有)。 参数列表(如果存在)将跟随格式字符串。
int fscanf (FILE *:stream, const char *format, …);
2.sscanf功能
sscanf
函数从缓冲区将数据读取到参数列表给定的位置。 到达缓冲区所指向的字符串的末尾等效于fscanf函数到达文件末尾(EOF)。 如果缓冲区和格式指向的字符串重叠,则行为未定义。
int sscanf(const char *buffer, const char *format, …);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.