こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C言語でのtxt検索

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

投稿日時 - 2012-10-01 23:12:29

QNo.7727507

すぐに回答ほしいです

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

>先頭を表示させる方法が思いつきません・・・。

半角、全角が混ざっているということですね・・。

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 ) ){

のようにすれば、行数は関係ないかと・・。

投稿日時 - 2012-10-02 05:28:18

お礼

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

投稿日時 - 2012-10-16 20:16:18

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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

投稿日時 - 2012-10-01 23:37:57

お礼

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

投稿日時 - 2012-10-16 20:16:30

あなたにオススメの質問