qq_25614507
qq_25614507
2015-05-17 05:51
采纳率: 33.3%
浏览 2.6k
已采纳

请教VC6.0++如何逐列读取TXT文件中的数据

例如TXT文件中的数据是这样
0 5 0.05
1 20 0.20
2 10 0.10
3 5 0.05
4 15 0.15
5 15 0.15
6 18 0.18
7 12 0.12
怎么把它们按每列读出来,分别放到三个不同的数组

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • gamefinity
    知常曰明 2015-05-17 06:30
    已采纳
    #include <stdio.h>
    #include <stdlib.h>
    
    void main(int argc, char *argv[])
    {
        if (argc < 2)return;
        char *filename = argv[1];
    
        FILE *fn;
        int i = 0,j;
        int a[10], *a0 = a;
        int b[10], *b0 = b;
        double c[10], *c0 = c;
        int a1, b1; double c1;
        if (fn = fopen(filename, "r"))
        {
            while (!feof(fn))
            {
                fscanf(fn, "%d %d %lf", a0++, b0++, c0++);
                if (++i >= 10)
                    break;
            }
            fclose(fn);
        }
    
        printf("Column1\n");
        for (j = 0; j < i; j++)
            printf("A[%d]=%d\n", j, a[j]);
        printf("Column2\n");
        for (j = 0; j < i; j++)
            printf("B[%d]=%d\n", j, b[j]);
        printf("Column3\n");
        for (j = 0; j < i; j++)
            printf("C[%d]=%lf\n", j, c[j]);
    
    
        system("pause");
    }
    
    点赞 评论
  • oyljerry
    oyljerry 2015-05-17 05:58

    没法按列 ,可以按行,然后每个元素插入不同的数组来组合列数据。

    点赞 评论
  • 91program
    91program 2015-05-17 06:49

    先按行读取(以回车换行符为行结束的判断符)
    读取一行的内容后,再对一行的内容以空格为分隔衔将一行的内容分成三部分,分别存在数组中。

    点赞 评论
  • kaiser_2001
    kaiser_2001 2015-05-17 08:17

    用个2维数组,把他们逐行存下来,,这样每一列也是一个数组,可以直接引用。。。

    点赞 评论
  • caozhy

    全部读取到内存中,然后数组行列转置
    或者每次读取一行的某列,读取n次,这种办法效率比较低。

    点赞 评论

相关推荐