アプリ版:「スタンプのみでお礼する」機能のリリースについて

例えば以下のようなcsvファイルがあったとします。

ab1,ef2,ab3,af4,ab5
bb1,bf2,bb3,bf4
cb1,cf2,cb3,cf4,cb5
zb1,zf2,zb3,zf4,zb5


プログラムに"cb3"という文字列を探させて、その文字列を含む一行
"cb1,cf2,cb3,cf4,cb5"のみを読み込む方法を探しております。

何か良い方法がございましたら教えていただけませんでしょうか?
よろしくお願いします。

A 回答 (3件)

http://oshiete1.goo.ne.jp/qa5709184.html
でやった、fgets + sscanf を使うもう一つの利点は、同じ行に対して複数の処理を行うときに楽、ということです。

文字列の中にある文字列が含まれているか調べるには、strstr関数を使用するか、同等の処理を自作します。
strstrを使用する場合は、#include <string.h>を追加してください。
探す文字列が日本語の場合は、文字コードにも注意してください。

実際の例としては、前回のプログラムに下の+で始まっている行を追加してみてください

while( fgets( buf,600, fp ) != NULL ) {
+/* "cb3"が含まれていなかったら、次のループへ */
+ if ( strstr( buf, "cb3" ) == NULL ) {
+ cotinue ;
+ }
ret = sscanf( buf, " %[^,],%[^,],%[^,],%[^,],%s", s, n1,n2,f1,f2 ) ;
    • good
    • 0
この回答へのお礼

kmeeさん
いつも丁寧なご回答ありがとうございます

strstrでヒットすれば読み込み、
ヒットしなければ続ければ良いのですね

今すぐ実践致します!
ありがとうございました。

お礼日時:2010/02/28 12:29

1行読み込み


http://msdn.microsoft.com/ja-jp/library/c37dh6kf …
文字列から特定の文字列を検索
http://msdn.microsoft.com/ja-jp/library/z9da80kz …
これを組み合わせれば出来るでしょう。
    • good
    • 0
この回答へのお礼

解説ページの紹介ありがとうございます。
とても便利ですので是非参考にさせていただきます。

本当にありがとうございました。

お礼日時:2010/02/28 12:34

>何か良い方法がございましたら教えていただけませんでしょうか?



INPUT文を使って一行ずつ読み込んで、文字をチェックしてセルに展開という方法で読み込ませる事が出来ます。
    • good
    • 0
この回答へのお礼

そういう方法もあるのですね。
是非参考にさせていただきます。

貴重なアドバイスに感謝します。

お礼日時:2010/02/28 12:32

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