繁体   English   中英

使用scanf从C中的txt文件读取

[英]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 *传递。

您可以使用:

  1. fscanf

要么

  1. sscanf fgets

sscanf应该更改为fscanf

fscanf扫描文件。

sscanf扫描字符串。

  1. fscanf函数

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM