• ベストアンサー

CSV形式に変換

プログラミング(C言語)で、ファイルの内容をCSV形式に変換し、指定した出力ファイルに出力するプログラムを作成せよ。という課題がありましたが、 ファイルの内容をCSV形式に変換 がわかりません。どのようなプログラムをかいたらよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.6

#5です。 よく見たらフィールド内での入れ替えが居るようなので、 #5で書いたやり方ではできませんね。。。 #参考だしいいのかな。。。 読み込みを一行ずつにして、 中を入れ替えて・・・ という作業が必要になります。

Balzary
質問者

お礼

アドバイスのおかげでうまくできました。ありがとうございます。

その他の回答 (5)

  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.5

Comma Separated Values File(CSVファイル)には決まった ファイルヘッダのようなものはありません。 中身はただのテキストファイルです。 今回の入力ファイルのデータなら手順としては、 1入力ファイルを開く 2出力ファイルを開く 3入力ファイルから1字を読み込む 4読み込んだ文字が半角スペースならば出力ファイルにカンマを書く 5それ以外なら読み込んだものをそのまま出力ファイルに書く 6後は3-5を入力ファイルが終了するまで繰り返す 7出力ファイルを閉じる 8入力ファイルを閉じる といった感じでしょうか。

  • fatbowler
  • ベストアンサー率48% (26/54)
回答No.4

初心者にやさしく。 CSVファイルは、 ・データを,(カンマ)で区切って並べたファイル ・テキストファイル ・拡張子は".csv" です。 テキストファイルなので、普通にfopen()でオープンして、fprintf()で書き込めます。 上に書いたように、通常のテキストファイルと違うのは、カンマでデータが区切られていることと ファイル名がXXXXXX.csvとなっていることだけです。

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★データ内容は? >ファイルの内容をCSV形式に変換がわかりません。  ↑  変換出力しようとしている元のデータ(テキスト)内容はどんな感じですか。  例えば  ------  りんご  みかん  いちご  ------  の3行を CSV 形式の1行に変換して出力する場合は  fputs( "りんご,", fp );  fputs( "みかん,", fp );  fputs( "いちご\n", fp );  で可能です。こうすると  --------------------  りんご,みかん,いちご  --------------------  ↑  立派な CSV 形式のファイルとなります。 ・ようするに文字列(データ)をカンマ文字で区切って出力すればよいわけです。  『変換』という言葉が出ているが難しくないです。  また、1行に何列出力するのかは課題で決まっているはずなので確認して下さい。  例えば CSV 形式1行にデータを3列で出力するようになっていれば3列出力後に  改行(\n)コードを入れます。 ・以上。参考に。

Balzary
質問者

お礼

変換という言葉が、問題を難しくさせていたのですね。

  • Neko4x
  • ベストアンサー率52% (27/51)
回答No.2

コンマ区切りの文字をテキスト形式で保存したもので、 ファイルの拡張子は .CSV になります。 図を見たほうが早いと思うので http://homepage3.nifty.com/dkcsv/ のサイトの http://homepage3.nifty.com/dkcsv/soft/csv/ を見てみてください。

Balzary
質問者

お礼

サイトをありがとうおざうました。漠然としていたので助かりました。

回答No.1

- CSVのなんたるやをご存じですか? - ファイルの内容とは? どんな形式/書式ですか? - そのファイルの内容を読み、単にprintfできますか?

Balzary
質問者

補足

ファイルの内容は、 JZK-30 Jizake_tsumeawase 4500 BSP-15 Body_soap_set 3000      ・      ・      ・ です。 これを JZK-30, 4500,Jizake_tsumeawase BSP-15, 3000,Body_soap_set に変換するのですが・・・

関連するQ&A