- C言語なら俺に聞け 136 [無断転載禁止]©2ch.net
147 :デフォルトの名無しさん (ワッチョイ 6f3c-iqWO)[sage]:2016/07/21(木) 21:35:26.49 ID:PLbz3kCO0 - 次のデータとは何?
多分ループの中に fgets を入れていないのが主因だと思うけどー for() { fgets() ... n = sscanf() count++; }
|
- C言語なら俺に聞け 136 [無断転載禁止]©2ch.net
149 :デフォルトの名無しさん (ワッチョイ 6f3c-iqWO)[sage]:2016/07/21(木) 22:03:47.94 ID:PLbz3kCO0 - あー データの区切りと 項目の区切りが同じなのでちょっといやん
↓ここの区切り文字が スペースじゃなくて、もっとユニークだったらよかった taro 19940625 123-4567 abc@ef nanaco 19900514 321-7654 fec@ba char *q; char *top = buf; while () { sscanf(top, ......) q = strstr(top, data[count].mail); if (q == NULL) break; top = q + strlen(data[count].mail); count++; } top から 最終項の mail の文字列さがして、 次は mail の文字列の次からに
|
- C言語なら俺に聞け 136 [無断転載禁止]©2ch.net
152 :デフォルトの名無しさん (ワッチョイ 6f3c-iqWO)[sage]:2016/07/21(木) 22:42:24.39 ID:PLbz3kCO0 - >>151
sscanf の戻り値みてループから抜け出してるなら大丈夫なんじゃない? 知らんけど。 (ただ データの途中での改行は考慮されていないし、する気もない)
|