各位高手好,请教一个文件读写问题。我现在有一个格式如下的txt文件,现在想将command,data,delay各列的数据分别放到一个buffer中,请问怎么来实现?谢谢。PS:请不要用MFC来写。本人用的是SDK写的。
文本格式如下:
command data   delay(ms)
0x0003,0x0001,10
0x002d,0x0000,0
0x003a,0x0000,0
0x002d,0x0001,10
0x002d,0x0000,0
0x003a,0x0001,100
0x0006,0x0000,0
0x0007,0x0000,0
0x000e

解决方案 »

  1.   

    WORD ii1, ii2, ii3;long buffer;FILE* fp1;buffer = 0;
    fp1 = fopen("xxx.txt", "rt");
    for(int i=0;i<8;i++)
    {
        fscanf("%x,%x,%x"),&ii1,&ii2,&ii3);
         buffer += ii1;          ///??????????
    }
      

  2.   

    CStdioFile.ReadString(...);
    AfxExtractSubString(...);
      

  3.   

    MFC的我暂时不要,syy64(太平洋) 大哥,谢谢你,请问这句
    buffer += ii1;          ///??????????  是啥意思呢?
    应该要写三个吧,将其放到不同的buffer中~~
      

  4.   

    我现在就是怎么来读啊?在怎么分别它们存到不同的buffer中?请指点指点拉~~
      

  5.   

    我之所以想把各列的值放到不同的buffer中(三个buffer),因为我其他地方需要分别用到这三个不同的列的值。所以目前我最想得到的就是把三列的值分别存起来。就这么简单。请syy64(太平洋)再指点指点。写一下code ~
      

  6.   

    WORD ii1, ii2, ii3;WORD buffer1[10],buffer2[10],buffer3[10];FILE* fp1;buffer = 0;
    fp1 = fopen("xxx.txt", "rt");
    for(int i=0;i<8;i++)
    {
        fscanf("%x,%x,%x",&ii1,&ii2,&ii3);
         buffer1[i] = ii1;    
         buffer2[i] = ii2;
         buffer3[i] = ii3;      
    }
     fscanf("%x",&ii1);
     buffer1[8] = ii1;
      

  7.   

    syy64(太平洋) 谢谢了,我先试试一下~~~
    对了 fscanf("%x",&ii1);
     buffer1[8] = ii1; 这句是用于什么?干什么用的?
      

  8.   

    to syy64(太平洋) :
    WORD Command[100],Data[100],Delay[100];
    int  i;  
    FILE* fp;
    fp = fopen("c:\\LCD_Ini_Data.txt","r");
    if(fp == NULL)
    MessageBox(g_playnum,TEXT("不能打开文件!"),TEXT("Error"),MB_OK);

        return ;
        
        while(!feof(fp))
    {
    fscanf(fp,"%x,%x,%x\n",&Command[i],&Data[i],&Delay[i]);
    i++;
    }    fclose(fp);我用这code,怎么我调试的时候,一运行到while语句时就直接跳出去了,也就是说根本都没有执行fscanf()语句。请问这个是怎么回事?