• ベストアンサー

C言語でのtxt検索

C言語でtxtファイルを読み込みその中で単語を検索してその単語がある行の先頭だけを表示させるというのは可能なのでしょうか? 例えばtxtの中身が A ok B no C ok D no のときにokを検索して、AとCを表示させたいです。txtの読み込みと、単語を検索するのはできるのですが、先頭を表示させる方法が思いつきません・・・。 また今回はA~Dまでしかないですがこれをtxtの行が増えたり減ったりしても対応できる方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yama5140
  • ベストアンサー率54% (136/250)
回答No.2

>先頭を表示させる方法が思いつきません・・・。 半角、全角が混ざっているということですね・・。 char cBuff[ 64 ], *top; として、cBuff に読み込んで、 top = strstr( cBuff, "ok" ); // 単語検索 if( NULL == top ) continue; cBuff[ top - cBuff ] = '\0'; // 検索文字列合致部分先頭 printf( "%s\n", cBuff ); 半角だけなら、 printf( "%c\n", cBuff[ 0 ] ); >行が増えたり減ったりしても対応できる方法はないでしょうか? 読み込みを、 while( NULL != fgets( cBuf, 64, fp1 ) ){ のようにすれば、行数は関係ないかと・・。

daikon999
質問者

お礼

回答ありがとうございます! 無事に成功しました!

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

行ごとに読み込んで探せばいいのでは?

daikon999
質問者

お礼

回答ありがとうございます!

関連するQ&A