C/C++ ,VC6.0环境下合并汇总文件内容问题求助

waicynd 2014-02-15 12:01:41
文件夹结构:
类型名-日期-批号-ID.txt(数据文件)

ID.txt文件内容:(逗号分隔符文件)
第一行,数据项目
第二行到n行,数据
————————————————————
数据文件类型
X,Y,E_Ir1,C_Ir1,D_Ir1,E_Vf3,C_Vf3,D_Vf3,E_Wd3,C_Wd3,D_Wd3,E_Iv3,C_Iv3,D_Iv3,E_Vf1,C_Vf1,D_Vf1,E_Wp3,C_Wp3,D_Wp3,
129,128,0.000000,0.000000,-0.000000,3.140000,3.127000,0.013000,468.500000,468.500000,-0.000000,124.500000,124.510000,0.008032,2.417000,2.422000,-0.005000,462.900000,463.150000,-0.250000,
130,128,0.000000,0.000000,-0.000000,3.137000,3.124000,0.013000,468.500000,468.500000,-0.000000,118.200000,118.710000,0.431472,2.415000,2.418000,-0.003000,462.900000,463.110000,-0.210000,
131,128,0.000000,0.000000,-0.000000,3.137000,3.124000,0.013000,468.500000,468.490000,0.010000,116.300000,118.260000,1.685297,2.417000,2.419000,-0.002000,462.900000,463.130000,-0.230000,
132,128,0.000000,0.049000,-0.049000,3.139000,3.130000,0.009000,468.600000,468.500000,0.100000,114.000000,116.630000,2.307018,2.417000,2.422000,-0.005000,463.000000,463.100000,-0.100000,
133,128,0.000000,0.000000,-0.000000,3.137000,3.126000,0.011000,468.500000,468.440000,0.060000,115.600000,117.700000,1.816609,2.415000,2.420000,-0.005000,462.900000,463.010000,-0.110000,
134,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.500000,468.490000,0.010000,116.300000,117.710000,1.212382,2.417000,2.420000,-0.003000,462.900000,463.040000,-0.140000,
135,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.500000,468.480000,0.020000,116.100000,116.950000,0.732127,2.412000,2.419000,-0.007000,462.900000,463.060000,-0.160000,
136,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.500000,468.470000,0.030000,114.400000,116.510000,1.844406,2.418000,2.420000,-0.002000,462.900000,463.020000,-0.120000,
137,128,0.000000,0.034000,-0.034000,3.138000,3.125000,0.013000,468.500000,468.470000,0.030000,115.200000,117.360000,1.875000,2.416000,2.418000,-0.002000,462.900000,463.060000,-0.160000,
138,128,0.000000,0.000000,-0.000000,3.136000,3.122000,0.014000,468.500000,468.460000,0.040000,116.000000,116.350000,0.301724,2.417000,2.419000,-0.002000,462.900000,462.980000,-0.080000,
139,128,0.000000,0.000000,-0.000000,3.139000,3.126000,0.013000,468.400000,468.410000,-0.010000,116.300000,117.140000,0.722270,2.418000,2.419000,-0.001000,462.900000,462.970000,-0.070000,
140,128,0.000000,0.027000,-0.027000,3.137000,3.125000,0.012000,468.500000,468.460000,0.040000,114.100000,116.200000,1.840491,2.415000,2.419000,-0.004000,462.900000,463.020000,-0.120000,
141,128,0.000000,0.010000,-0.010000,3.140000,3.127000,0.013000,468.500000,468.510000,-0.010000,113.700000,117.410000,3.262973,2.418000,2.420000,-0.002000,462.900000,463.060000,-0.160000,
142,128,0.000000,0.000000,-0.000000,3.138000,3.124000,0.014000,468.500000,468.500000,-0.000000,114.800000,116.460000,1.445993,2.417000,2.419000,-0.002000,462.900000,463.090000,-0.190000,
143,128,0.000000,0.000000,-0.000000,3.138000,3.125000,0.013000,468.500000,468.520000,-0.020000,115.900000,117.360000,1.259707,2.417000,2.418000,-0.001000,462.900000,463.110000,-0.210000,
144,128,0.000000,0.018000,-0.018000,3.138000,3.125000,0.013000,468.500000,468.480000,0.020000,113.900000,116.110000,1.940299,2.418000,2.421000,-0.003000,462.800000,463.030000,-0.230000,
145,128,0.000000,0.033000,-0.033000,3.140000,3.126000,0.014000,468.500000,468.500000,-0.000000,116.600000,116.950000,0.300172,2.418000,2.419000,-0.001000,462.900000,463.060000,-0.160000,
146,128,0.000000,0.005000,-0.005000,3.137000,3.124000,0.013000,468.400000,468.370000,0.030000,117.500000,116.480000,-0.868085,2.418000,2.420000,-0.002000,462.700000,462.920000,-0.220000,
147,128,0.000000,0.000000,-0.000000,3.139000,3.126000,0.013000,468.500000,468.500000,-0.000000,117.700000,117.580000,-0.101954,2.418000,2.419000,-0.001000,462.900000,463.130000,-0.230000,
148,128,0.000000,0.037000,-0.037000,3.139000,3.126000,0.013000,468.400000,468.320000,0.080000,116.800000,116.850000,0.042808,2.417000,2.418000,-0.001000,462.800000,462.910000,-0.110000,
149,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.400000,468.390000,0.010000,116.600000,116.920000,0.274443,2.420000,2.421000,-0.001000,462.800000,462.960000,-0.160000,
150,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.400000,468.370000,0.030000,118.500000,116.860000,-1.383966,2.416000,2.420000,-0.004000,462.800000,462.940000,-0.140000,
151,128,0.000000,0.010000,-0.010000,3.139000,3.127000,0.012000,468.400000,468.370000,0.030000,116.400000,117.380000,0.841924,2.419000,2.420000,-0.001000,462.700000,462.940000,-0.240000,
152,128,0.000000,0.009000,-0.009000,3.136000,3.123000,0.013000,468.500000,468.450000,0.050000,117.200000,117.200000,-0.000000,2.416000,2.420000,-0.004000,462.900000,463.050000,-0.150000,
153,128,0.000000,0.000000,-0.000000,3.138000,3.125000,0.013000,468.400000,468.380000,0.020000,117.300000,117.920000,0.528559,2.418000,2.420000,-0.002000,462.800000,462.940000,-0.140000,
154,128,0.000000,0.000000,-0.000000,3.140000,3.126000,0.014000,468.400000,468.360000,0.040000,115.600000,116.360000,0.657439,2.417000,2.422000,-0.005000,462.800000,462.920000,-0.120000,
——————————————————————

文件汇总:每一个数据文件比如有20行,对应的类型名,日期,批号,ID都填充到数据每一行数据前面,所有文合并在一个文件中
第一行:项目名称
类型名,日期,批号,ID,数据项目
第二行 数据,数据前填充对应的-类型名-日期-批号-ID


分数不多,请各位牛人帮忙!



...全文
174 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-02-16
  • 打赏
  • 举报
回复
第79行应改为fi=fopen(fn,"r");
waicynd 2014-02-15
  • 打赏
  • 举报
回复
首先非常感谢! 其次在此感谢牛人大力帮忙!
waicynd 2014-02-15
  • 打赏
  • 举报
回复
首先非常感谢! 其次在此感谢!
赵4老师 2014-02-15
  • 打赏
  • 举报
回复
第101行前加一句fclose(fo);
赵4老师 2014-02-15
  • 打赏
  • 举报
回复
没实际编译链接调试,仅供参考:
//D:\EQCdata\L08C\20140211\A2C-KC140201010\RF304150001.txt
//D:\EQCdata\L08C\20140211\A2C-KC140201010\RF304150002.txt
//D:\EQCdata\L08C\20140211\A2C-KC140201010\RF304150003.txt
//D:\EQCdata\L08C\20140211\A3D-KC140202019\RF304152400.txt
//D:\EQCdata\L08C\20140211\A3D-KC140202019\RF304152500.txt
//D:\EQCdata\L08C\20140211\A3D-KC140202019\RF304152600.txt
//D:\EQCdata\L08C\20140211\A3D-KC140202019\RF304152700.txt
//D:\EQCdata\L08C\20140211\A3D-KC140202019\RF304152800.txt
//D:\EQCdata\L08C\20140211\A3D-KC140202019\RF304152900.txt
//D:\EQCdata\L08C\20140212\A2C-KC140200002\BB304150001.txt
//D:\EQCdata\L08C\20140212\A2C-KC140200002\BB304150002.txt
//D:\EQCdata\L08C\20140212\A2C-KC140200002\BB304150003.txt
//D:\EQCdata\L08C\20140212\A3D-KC140200001\AA304152400.txt
//D:\EQCdata\L08C\20140212\A3D-KC140200001\AA304152500.txt
//D:\EQCdata\L08C\20140212\A3D-KC140200001\AA304152600.txt
//D:\EQCdata\L08C\20140212\A3D-KC140200001\AA304152700.txt
//
//X,Y,E_Ir1,C_Ir1,D_Ir1,E_Vf3,C_Vf3,D_Vf3,E_Wd3,C_Wd3,D_Wd3,E_Iv3,C_Iv3,D_Iv3,E_Vf1,C_Vf1,D_Vf1,E_Wp3,C_Wp3,D_Wp3,
//129,128,0.000000,0.000000,-0.000000,3.140000,3.127000,0.013000,468.500000,468.500000,-0.000000,124.500000,124.510000,0.008032,2.417000,2.422000,-0.005000,462.900000,463.150000,-0.250000,
//130,128,0.000000,0.000000,-0.000000,3.137000,3.124000,0.013000,468.500000,468.500000,-0.000000,118.200000,118.710000,0.431472,2.415000,2.418000,-0.003000,462.900000,463.110000,-0.210000,
//131,128,0.000000,0.000000,-0.000000,3.137000,3.124000,0.013000,468.500000,468.490000,0.010000,116.300000,118.260000,1.685297,2.417000,2.419000,-0.002000,462.900000,463.130000,-0.230000,
//132,128,0.000000,0.049000,-0.049000,3.139000,3.130000,0.009000,468.600000,468.500000,0.100000,114.000000,116.630000,2.307018,2.417000,2.422000,-0.005000,463.000000,463.100000,-0.100000,
//133,128,0.000000,0.000000,-0.000000,3.137000,3.126000,0.011000,468.500000,468.440000,0.060000,115.600000,117.700000,1.816609,2.415000,2.420000,-0.005000,462.900000,463.010000,-0.110000,
//134,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.500000,468.490000,0.010000,116.300000,117.710000,1.212382,2.417000,2.420000,-0.003000,462.900000,463.040000,-0.140000,
//135,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.500000,468.480000,0.020000,116.100000,116.950000,0.732127,2.412000,2.419000,-0.007000,462.900000,463.060000,-0.160000,
//136,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.500000,468.470000,0.030000,114.400000,116.510000,1.844406,2.418000,2.420000,-0.002000,462.900000,463.020000,-0.120000,
//137,128,0.000000,0.034000,-0.034000,3.138000,3.125000,0.013000,468.500000,468.470000,0.030000,115.200000,117.360000,1.875000,2.416000,2.418000,-0.002000,462.900000,463.060000,-0.160000,
//138,128,0.000000,0.000000,-0.000000,3.136000,3.122000,0.014000,468.500000,468.460000,0.040000,116.000000,116.350000,0.301724,2.417000,2.419000,-0.002000,462.900000,462.980000,-0.080000,
//139,128,0.000000,0.000000,-0.000000,3.139000,3.126000,0.013000,468.400000,468.410000,-0.010000,116.300000,117.140000,0.722270,2.418000,2.419000,-0.001000,462.900000,462.970000,-0.070000,
//140,128,0.000000,0.027000,-0.027000,3.137000,3.125000,0.012000,468.500000,468.460000,0.040000,114.100000,116.200000,1.840491,2.415000,2.419000,-0.004000,462.900000,463.020000,-0.120000,
//141,128,0.000000,0.010000,-0.010000,3.140000,3.127000,0.013000,468.500000,468.510000,-0.010000,113.700000,117.410000,3.262973,2.418000,2.420000,-0.002000,462.900000,463.060000,-0.160000,
//142,128,0.000000,0.000000,-0.000000,3.138000,3.124000,0.014000,468.500000,468.500000,-0.000000,114.800000,116.460000,1.445993,2.417000,2.419000,-0.002000,462.900000,463.090000,-0.190000,
//143,128,0.000000,0.000000,-0.000000,3.138000,3.125000,0.013000,468.500000,468.520000,-0.020000,115.900000,117.360000,1.259707,2.417000,2.418000,-0.001000,462.900000,463.110000,-0.210000,
//144,128,0.000000,0.018000,-0.018000,3.138000,3.125000,0.013000,468.500000,468.480000,0.020000,113.900000,116.110000,1.940299,2.418000,2.421000,-0.003000,462.800000,463.030000,-0.230000,
//145,128,0.000000,0.033000,-0.033000,3.140000,3.126000,0.014000,468.500000,468.500000,-0.000000,116.600000,116.950000,0.300172,2.418000,2.419000,-0.001000,462.900000,463.060000,-0.160000,
//146,128,0.000000,0.005000,-0.005000,3.137000,3.124000,0.013000,468.400000,468.370000,0.030000,117.500000,116.480000,-0.868085,2.418000,2.420000,-0.002000,462.700000,462.920000,-0.220000,
//147,128,0.000000,0.000000,-0.000000,3.139000,3.126000,0.013000,468.500000,468.500000,-0.000000,117.700000,117.580000,-0.101954,2.418000,2.419000,-0.001000,462.900000,463.130000,-0.230000,
//148,128,0.000000,0.037000,-0.037000,3.139000,3.126000,0.013000,468.400000,468.320000,0.080000,116.800000,116.850000,0.042808,2.417000,2.418000,-0.001000,462.800000,462.910000,-0.110000,
//149,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.400000,468.390000,0.010000,116.600000,116.920000,0.274443,2.420000,2.421000,-0.001000,462.800000,462.960000,-0.160000,
//150,128,0.000000,0.000000,-0.000000,3.137000,3.125000,0.012000,468.400000,468.370000,0.030000,118.500000,116.860000,-1.383966,2.416000,2.420000,-0.004000,462.800000,462.940000,-0.140000,
//151,128,0.000000,0.010000,-0.010000,3.139000,3.127000,0.012000,468.400000,468.370000,0.030000,116.400000,117.380000,0.841924,2.419000,2.420000,-0.001000,462.700000,462.940000,-0.240000,
//152,128,0.000000,0.009000,-0.009000,3.136000,3.123000,0.013000,468.500000,468.450000,0.050000,117.200000,117.200000,-0.000000,2.416000,2.420000,-0.004000,462.900000,463.050000,-0.150000,
//153,128,0.000000,0.000000,-0.000000,3.138000,3.125000,0.013000,468.400000,468.380000,0.020000,117.300000,117.920000,0.528559,2.418000,2.420000,-0.002000,462.800000,462.940000,-0.140000,
//154,128,0.000000,0.000000,-0.000000,3.140000,3.126000,0.014000,468.400000,468.360000,0.040000,115.600000,116.360000,0.657439,2.417000,2.422000,-0.005000,462.800000,462.920000,-0.120000,
//
//每一个数据文件比如有20行,对应的类型名,日期,批号,ID都填充到数据每一行数据前面,所有文合并在一个文件中
// 第一行:项目名称
//类型名,日期,批号,ID,数据项目
// 第二行 数据,数据前填充对应的-类型名-日期-批号-ID
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char fn[256];
char ln[256];
char *hd="类型名,日期,批号,ID,X,Y,E_Ir1,C_Ir1,D_Ir1,E_Vf3,C_Vf3,D_Vf3,E_Wd3,C_Wd3,D_Wd3,E_Iv3,C_Iv3,D_Iv3,E_Vf1,C_Vf1,D_Vf1,E_Wp3,C_Wp3,D_Wp3,";
FILE *af;
FILE *fi;
FILE *fo;
int i,L;
int main() {
    system("dir /b /a-d /s /on D:\\EQCdata\\*.txt >D:\\allfn.txt");
    af=fopen("D:\\allfn.txt","r");
    if (NULL==af) {
        printf("Can not open file D:\\allfn.txt!\n");
        return 1;
    }
    fo=fopen("D:\\Result.txt","w");
    if (NULL==fo) {
        fclose(af);
        printf("Can not create file D:\\Result.txt!\n");
        return 2;
    }
    fprintf(fo,"%s\n",hd);
    while (1) {
        if (NULL==fgets(fn,256,af)) break;
        L=strlen(fn);if ('\n'==fn[L-1]) {fn[L-1]=0;L--;}
        printf("read %s\n",fn);//D:\EQCdata\L08C\20140211\A2C-KC140201010\RF304150001.txt
        fi=fopen(fn,"rb");
        if (NULL==fi) {
            printf("Can not open file %s!\n",fn);
            fclose(af);
            fclose(fo);
            return 3;
        }
        for (i=11;i<L;i++) {//D:\EQCdata\L08C,20140211,A2C-KC140201010,RF304150001
            if (fn[i]=='\\') fn[i]=',';
            if (fn[i]=='.') {
                fn[i]=0;
                break;
            }
        }
        fgets(ln,256,fi);//跳过第一行
        while (1) {
            if (NULL==fgets(ln,256,fi)) break;
            fprintf(fo,"%s,%s",fn+11,//L08C,20140211,A2C-KC140201010,RF304150001
                               ln);
        }
        fclose(fi);
    }
    fclose(af);
    return 0;
}

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧