如图三列数据,我只想读第三列数据(https://img-ask.csdn.net/upload/201705/02/1493708233_7575.png)
char *fgets(
char* string,
int n,
FILE *stream
);
代码如下:
#include <stdio.h>
int main()
{
FILE* file = fopen("d:\\input.dat", "r");
char line[256]; //存每行
char str[20]; //存第三列字符串的值
double result; //存第三列转化为double后的值
while (fgets(line, sizeof(line), file)) { //fgets逐行读取文件,到达文件尾终止while循环
sscanf(line, "%*d %*s %s", str); //sscanf解析每行数据,因为第1、2列不需要,在格式字符前加上*
result = atof(str); //将第三列转化为double类型
printf("%f\n", result); //打印第三列,测试结果
}
fclose(file);
return 0;
}
基本逻辑可行。
但如果是项目程序,还需要加上对打开文件是否成功的判断等代码。
另外,读取到第三列后如何处理,也需要根据你项目的具体要求。