No.14546![]() |
空白と改行を除いてCSV化 投稿者---akipc(2004/06/10 13:32:44) |
||
はじめまして。 可変長テキストファイルを読込み、空白と改行を除いてCSV化したいんですが、どなたかアドバイスをよろしくお願いします。 memcpyを使って作成したんですが上手くいきませんでした。 ↓テキストの中身はこんな感じです。 AAAAA BBBB C 123 456 7 WWW あ ↓編集結果はこんな感じです。 AAAAA,BBB,C,123,456,7,WWW,あ |
No.14547![]() |
Re:空白と改行を除いてCSV化 投稿者---nop(2004/06/10 13:35:37) |
||
>可変長テキストファイルを読込み、空白と改行を除いてCSV化したいんですが、どなたかアドバイスをよろしくお願いします。 >↓テキストの中身はこんな感じです。 >AAAAA BBBB C 123 >456 7 WWW あ >↓編集結果はこんな感じです。 >AAAAA,BBB,C,123,456,7,WWW,あ 空白、改行文字を区切り文字として strtok() でトークン分割 後は各トークンを「,」区切りで出力すればいいんでない? |
No.14548![]() |
Re:空白と改行を除いてCSV化 投稿者---akipc(2004/06/10 14:00:21) |
||
>空白、改行文字を区切り文字として strtok() でトークン分割 >後は各トークンを「,」区切りで出力すればいいんでない? char *strtok(char *s, const char *t); ↑ コレを使えば出来るのでしょうか? 調べてみたのですが、よく分からなかったです。 |
No.14549![]() |
Re:空白と改行を除いてCSV化 投稿者---nop(2004/06/10 14:16:17) |
||
>コレを使えば出来るのでしょうか? >調べてみたのですが、よく分からなかったです。 まずは、「掲示板ご利用上の注意」をもっとよく読む事を希望します。 >ある程度ご自分の解き方をお示しください。 |
No.14550![]() |
Re:空白と改行を除いてCSV化 投稿者---akipc(2004/06/10 14:33:55) |
||
while(fgets(data,BUFFER_SIZE,fin)!=NULL) { memcpy(wk_out,data+1,5); fputs(wk_out,txt_out); work_out[6]='\0'; こんな感じで作ったんですけど、もし途中で改行されていたり、文字数が1〜4桁だったときに、空白と改行が出てCSV形式になりません。 これでよろしいでしょうか? |
No.14554![]() |
Re:空白と改行を除いてCSV化 投稿者---RAPT(2004/06/10 21:28:23) |
||
ソースを掲載する時は、 「開発環境の明示」と「事象が再現できるコンパイル可能な最低限のコード」 を提示するといいでしょう。 |
No.14551![]() |
Re:空白と改行を除いてCSV化 投稿者---あかま(2004/06/10 14:35:54) |
||
>char *strtok(char *s, const char *t); >↑ >コレを使えば出来るのでしょうか? >調べてみたのですが、よく分からなかったです。 「よく分からない」だけではこちらも説明は無理でしょう。 http://www9.plala.or.jp/sgwr-t/lib/strtok.html HPに説明が載っていますが、掲示板ではこれ以上の説明は難しいです。 >memcpyを使って作成したんですが上手くいきませんでした。 うまくいかないなりにそのソースを載せると吉。 カンマつけるだけならこれで十分かと。 #include <stdio.h> int main(){ char str[128]; while(scanf(" %s",str) != EOF){ printf("%s,",str); } return 0; } 実行はリダイレクトを使ってこんな感じ programname < input.txt > output.txt |