テキストコンテンツから有効な情報を抽出

6250 ワード

a.txt $ABC,eqwe,0123,N,we23,E,234 $ABD,fkjd,2454,N,fwer,E,456 $AB,fhew,9478,N,wewf,E,rnju $ABC,wefn,9834,N,riwqj,E,42
要件:
抽出された有効な情報は
eqwe,0123,we23
wefn,9834,riwqj
コード実装:#include #include #include #include #include int i=0; // int main(){      int fd=open( "a.txt" ,O_RDONLY,0644);             char c; //      ssize_t bytes;      char xinxi[256]; //      if (fd==-1)      {          perror ( "open" );          return -1;          }      //      while (bytes=(read(fd,&c, sizeof (c)))>0)      {          if (c== '$' )              { //              read(fd,&c, sizeof (c));              if (c== 'A' )              {                              read(fd,&c, sizeof (c));                  if (c== 'B' )                      {                                  read(fd,&c, sizeof (c));                          if (c== 'C' )                          {                                      read(fd,&c, sizeof (c)); //                                      read(fd,&c, sizeof (c)); //                          if (c!= ',' ){                              while (c!= 'N' ) //                              {                                  {xinxi[i]=c; //                                  ++i;                                              read(fd,&c, sizeof (c));}
                               }                                          read(fd,&c, sizeof (c)); //                              if (c!= ',' )                              continue ;}                          }                          else                          {                          while (c!= '
'
)                                      read(fd,&c, sizeof (c));                          continue ; // while ,                          }                      }              }              }      else if (c!= 'E' &&c!= ',' )          {          xinxi[i]=c;          ++i;          }          else {              while (c!= '
'
)                      read(fd,&c, sizeof (c));              continue ;}          } //      if (bytes==-1)      {          perror ( "read" );          return -1;          }          int m;          for (m=0;xinxi[m];++m)              printf ( "%c" ,xinxi[m]);              printf ( "
"
);             return 0;      }