消息关闭
    暂无新消息!
13:59:25 327
0008d9
0008d8
0008d8
0008d5
0008cf
0008ce
0008c9
0008c3
0008bd
0008b6
0008b0
0008a9
0008a1
00089c
000896
00088f
00088b
000885
000882
00087f
00087a
000876
000870
00086b
000867
000862
00085c
000857
00084f
000849
000842
00083c
13:59:25 359
000836
000830
000829
000822
00081d
000816
00080e
000808
000802
0007fd
0007f7
0007f1
0007e9
0007e2
0007da
0007d2
0007cb
0007c4
0007be
0007ba
0007b3
0007ae
0007a8
0007a3
00079f
00079e
00079b
000795
000790
00078a
000786
00077f
13:59:25 390
000779
000774
00076c
000766
000760
00075c
00075a
00075b
00075b
00075f
000760
000763
000767
000769
00076c
000771
000774
000779
00077e
000782
000788
00078b
00078f
000791
000795
00079b
0007a1
0007a8
0007ae
0007b4
0007bc
数据类似这样,有几万行。
求助能够去掉时间并且存到一个新的数组当中

7个回答

︿ 1
按行读取,然后统计行数,把时间行过滤掉就可以了,当然也可以每行读取的时候判断一下是不是时间行如果是就忽略就可以
︿ 1
仅供参考:
//NAME: essaie bla bla
//DIMENSION: 8
//DATA
//1  14  15
//2  11  10
//3  6   4
//4  7   13
//5  9   21
//6  19  3
//7  1   5
//8  8   8
//EOF
//
// 文本文件中可能还含有其他内容,但是需要用到的内容即以上

//比如data.txt:
//NAME: essaie bla bla
//其它内容
//DIMENSION: 8
//其它内容
//DATA
//其它内容
//1  14  15
//其它内容
//2  11  10
//其它内容
//3  6   4
//其它内容
//4  7   13
//其它内容
//5  9   21
//其它内容
//6  19  3
//其它内容
//7  1   5
//其它内容
//8  8   8
//其它内容
//EOF

// 目标是要获取NAME后字串,DIMENSION后数值,以及DATA以下的数值
// 其中NAME就是随便个字句,DIMENSION是城市数量,DATA以下是城市编号,X坐标,Y坐标
// 所有的这些将赋值给一个事先定义好的结构
#include <stdio.h>
#include <string.h>
#define MAXCPL   80   //每行最大字符数
#define MAXCITY  100  //每组数据中DATA最多项数,DIMENSION的最大值
#define MAXNAMEL 32   //NAME最大长度
struct S {
    char NAME[MAXNAMEL+1];
    int  DIMENSION;
    struct D {
        int NO;
        int X;
        int Y;
    } DATA[MAXCITY];
} s;
FILE *f;
int st,n,i;
char ln[MAXCPL];
int main() {
    f=fopen("data.txt","r");
    if (NULL==f) {
        printf("Can not open file data.txt!\n");
        return 1;
    }
    st=0;
    n=0;
    while (1) {
        if (NULL==fgets(ln,MAXCPL,f)) break;
        if (st==0) {
            if (1==sscanf(ln,"NAME: %31[^\n]",s.NAME)) st=1;
        } else if (st==1) {
            if (1==sscanf(ln,"DIMENSION: %d",&s.DIMENSION)) st=2;
        } else if (st==2) {
            if (0==strcmp(ln,"DATA\n")) st=3;
        } else if (st==3) {
            if (3==sscanf(ln,"%d%d%d",&s.DATA[n].NO,&s.DATA[n].X,&s.DATA[n].Y)) {
                n++;
                if (n>=MAXCITY || n>=s.DIMENSION) break;
            }
        }
    }
    fclose(f);
    printf("s.NAME=[%s]\n",s.NAME);
    printf("s.DIMENSION=%d\n",s.DIMENSION);
    for (i=0;i<n;i++) {
        printf("s.DATA[%d].NO,X,Y=%d,%d,%d\n",i,s.DATA[i].NO,s.DATA[i].X,s.DATA[i].Y);
    }
    return 0;
}
//s.NAME=[essaie bla bla]
//s.DIMENSION=8
//s.DATA[0].NO,X,Y=1,14,15
//s.DATA[1].NO,X,Y=2,11,10
//s.DATA[2].NO,X,Y=3,6,4
//s.DATA[3].NO,X,Y=4,7,13
//s.DATA[4].NO,X,Y=5,9,21
//s.DATA[5].NO,X,Y=6,19,3
//s.DATA[6].NO,X,Y=7,1,5
//s.DATA[7].NO,X,Y=8,8,8

︿ 0
方法1:编程解决,逐行读取,日期识别,删掉日期,写入新文件。
方法2:整理到excel文档里面,筛选出日期,删除日期,复制到目标文件里面,over