No.14357![]() |
指定されたデータだけ抜き出す 投稿者---ももちゃん(2004/06/01 11:11:50) |
||
040201_0010, 0.17,5/5,OOOOO,12.37, -1.1, -2.8, 4.3738,$10O 040201_0015, 0.25,5/5,OOOOO,12.37, -0.3, -3.7, 4.6092,$10O ・ ・ ・ このようなデータがあるファイルに入っており「,」ごとに区切られています。この中から4番目のデータを取り出し新規ファイルにどんどん格納していきたいのですが、よくわからないのでアドバイスお願いします |
No.14358![]() |
Re:指定されたデータだけ抜き出す 投稿者---かずま(2004/06/01 11:28:08) |
||
> このようなデータがあるファイルに入っており「,」ごとに区切られています。 > この中から4番目のデータを取り出し新規ファイルにどんどん格納していき > たいのですが、よくわからないのでアドバイスお願いします 「,」が連続することがない、すなわち空のデータがないのなら、 char buf[256], data[256]; while (fgets(buf, sizeof buf, stdin)) if (sscanf(buf, "%*[^,],%*[^,],%*[^,],%255[^,\n]", data) == 1) fprintf(stdout, "%s\n", data); |
No.14363![]() |
Re:指定されたデータだけ抜き出す 投稿者---ももちゃん(2004/06/01 13:19:12) |
||
すいません。 空データのもありました。 その場合はどうすればよろしいでしょうか? |
No.14368![]() |
Re:指定されたデータだけ抜き出す 投稿者---かずま(2004/06/01 17:18:18) |
||
> 空データのもありました。 > その場合はどうすればよろしいでしょうか? char buf[256], *p; int i; while (fgets(buf, sizeof buf, stdin)) { for (i = 0, p = buf; i < 3 && (p = strchr(p, ',')); i++) p++; if (p && (i = strcspn(p, ",\n"))) fprintf(stdout, "%.*s\n", i, p); } #include <string.h> をお忘れなく。 |