ALisababy0205
2017-05-02 06:57
采纳率: 0%
浏览 6.7k

C语言中,如何读取txt文件中多列数据中的一列?

如图三列数据,我只想读第三列数据(https://img-ask.csdn.net/upload/201705/02/1493708233_7575.png)

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 战在春秋 2017-05-02 07:48

    代码如下:

    #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;
    }
    

    基本逻辑可行。
    但如果是项目程序,还需要加上对打开文件是否成功的判断等代码。
    另外,读取到第三列后如何处理,也需要根据你项目的具体要求。

    评论
    解决 5 无用 1
    打赏 举报

相关推荐 更多相似问题