• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語、CSVファイルを読み込んで、加工して別CS)

C言語、CSVファイルの読み込みと加工、別ファイル出力プログラムがうまくいかない

このQ&Aのポイント
  • C言語を使用してCSVファイルを読み込み、加工して別のCSVファイルに出力するプログラムがうまくいきません。
  • プログラムでは、B列の数値のみを変更したいのですが、正しく数値が読み込まれず、すべてA列に入力されてしまいます。
  • 提供されたプログラムはファイルを開く、CSVファイルから数値を読み込む、数値を加工する、別のCSVファイルに書き込むという手順で構成されています。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

○CSVファイル、というのは、通常は、Comma Separated Values の名前の通り、「カンマ(,)で区切られたデータ」になっています。 そのfscanfの書式を見ると、 「整数(読み飛ばす) 空白 数値(読み込む) 」となっているファイルを読もうとしています。 どちらが正しいのでしょうか? 空白区切りが正しいのなら「CSV」などと誤った名前を使わないようにしましょう。 カンマ区切りが正しいのなら、fscanfの書式を正しいものにしましょう。 ○ あるいは、もっと他の方法を探しましょう。 「C言語を使わなければならない積極的な理由」が無ければ、他の方法を使った方がはるかに楽です。 例えば、そのままエクセルを使って、 C1: =B1+B1 C2: =C1*(B2-C3) ... とでもやれば済むことです。 で気付いたのですが > w[i] = w[i - 1] *(r[i]-w[i + 1]); この時点で、w[i+1]には何も入っていません。C言語の場合、このような場合に、どんな値になっているか、わかりません。 (デバッグモードでは0に初期化されていることもありますが) 計算式、または計算順番を間違えていませんか? ○ここでは ・質問が解決したら締め切る ・続きの質問を投稿する前に、前の質問は締め切る というルールになっています。過去の質問は適切に処理しましょう。

その他の回答 (1)

noname#208507
noname#208507
回答No.1

> fscanf(fpr, "%*d %lf", &r[i]); 引数が足りないのでは。 それに区切り文字(空白かタブか)は合っていますか。

関連するQ&A