- ベストアンサー
C言語でのtxt検索
C言語でtxtファイルを読み込みその中で単語を検索してその単語がある行の先頭だけを表示させるというのは可能なのでしょうか? 例えばtxtの中身が A ok B no C ok D no のときにokを検索して、AとCを表示させたいです。txtの読み込みと、単語を検索するのはできるのですが、先頭を表示させる方法が思いつきません・・・。 また今回はA~Dまでしかないですがこれをtxtの行が増えたり減ったりしても対応できる方法はないでしょうか?
- みんなの回答 (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 ) ){ のようにすれば、行数は関係ないかと・・。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
行ごとに読み込んで探せばいいのでは?
質問者
お礼
回答ありがとうございます!
お礼
回答ありがとうございます! 無事に成功しました!