プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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 ) ){

のようにすれば、行数は関係ないかと・・。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/10/16 20:16

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2012/10/16 20:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!