C言語なら俺に聞け( ..
[2ch|▼Menu]
796:デフォルトの名無しさん
07/11/27 00:47:27
564.1
451.6
154.1
[EOF]

こういう風になってるテキストファイルがあるときに
「EOFまで数字をテキストファイルから読み込む」という作業をする場合はどうすればいいんでしょうか?

i=0;
while(1){
if(fread(&c,sizeof(char),1,fp)==EOF) break;
else
{
data[i]=fscanf(fp,"%lf\n",&value);
i++;
}
}

こんな感じにかいたらdata[0][1][2]には564.1 451.6 154.1 が入っているんでしょうか?
よくfreadとfscanfなどがわかっていないのでよろしくお願いします。


797:デフォルトの名無しさん
07/11/27 00:47:38
別もの。
*a=120の*はデリファレンス、float *tempの*はポインタ宣言。

798:ワカメ高専
07/11/27 01:05:59
[-3,3] fx=1/(1+5x^2) 分点の数 10個(n=9)
これをラグランジュで求めて結果を出力するプログラムを作れって(c or c++)言われたけどさっぱりでしゅ

799:デフォルトの名無しさん
07/11/27 01:44:24
>>798
課題丸投げは宿題スレへ
スレリンク(tech板)

800:デフォルトの名無しさん
07/11/27 01:49:31
>>796
i=0;
while(1){
if (fscanf(fp, "%lf", &data[i]) == EOF) {
break;
}
i++;
}

801:デフォルトの名無しさん
07/11/27 01:55:32
>>795
そう。上の例は
float *a;
a = new float();
*a = 120;
float *temp;
temp = a;
に等しい。下の例は
float *temp;
temp = 120;
ということになる。floatポインタに整数120は代入できない(型が異なる)のでエラー。

802:デフォルトの名無しさん
07/11/27 02:14:26
エラーにはならないだろボケ


803:デフォルトの名無しさん
07/11/27 02:16:13
>>791
別に駄目じゃねーよ。
期待してるのとは違う動作だろうけどな。

804:801
07/11/27 02:19:44
本当だ、エラーにはならんね、すまそ


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4987日前に更新/195 KB
担当:undef