• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラムのことについてご質問します。)

プログラムの問題

このQ&Aのポイント
  • この質問は、プログラムのエラーに関するものです。
  • コンパイル時にエラーが発生せず、起動時にプログラムが終了せず、出力も行われない問題が発生しています。
  • 質問者は、テキストファイルを読み込み、新しいテキストファイルを書き出すプログラムを作成しているが、うまく機能していないと述べています。

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

  • ベストアンサー
回答No.3

> if ((rfp=fopen(argv[1],"r")) ==NULL){ > if ((wfp=fopen(argv[1],"w")) ==NULL){ 読み込みと書き込みで同じファイルを開こうとしています。 おそらく、いったんreadで開いた後、writeに変更されてエラーにはなってないのだと思われますが、 > while(fscanf(rfp,"%[^,],%lf\n", name[nline], &score[nline]) >0){ ファイルはwriteモードなのでfscanfは入力を受け取ることが出来ないので、延々と待ち続けてるものと思われます。

wolf007
質問者

お礼

ありがとうございます 計算式や下のほうのプログラムを意識するあまりまったく気づきませんでした

その他の回答 (2)

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.2

デバッガとか無いの? 自分の作ったプログラムデバッグするのも、テクニック身につける一つなのですが。 >while(fscanf(rfp,"%[^,],%lf\n", name[nline], &score[nline]) >0){ 多分、ここのfscanfの正規表現はおかしい気がしますが、while()に入れてるせいでコンパイラが弾いてないんじゃ無いの?(あくまで、推測ですけど。)

wolf007
質問者

お礼

早いお返事をいただきありがとうございます。  疑問は、解決しました デバッカはデバッグのことでした。 fscanfは入出力のプログラムの1つです。 拙い文でしたので 申し訳ありませんでした。

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.1

とりあえず、 >while(fscanf(rfp,"%[^,],%lf\n", name[nline], &score[nline]) >0){ >sum_score += score[nline]; >nline ++; >} ここのループの中で、nline,name[nline],score[nline]の各値をprintfしてみましょう。

wolf007
質問者

お礼

ありがとうございます。

関連するQ&A