![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
for文でまわして求められた値をバイナリファイルに落としたく、下記のようなプログラムを書いたのですがうまくいきません。fwriteをretfunc中で行えばうまくいくと思うのですが、retfuncは実際は複雑なので、下位関数で計算だけを行い、mainでは戻り値を随時バイナリファイルに書き込むだけの処理にしたいです。
質問(1) 下記プログラムだとfor文がまわりません。勝手にループして欲しいだけなので引数はなくvoidとしてみましたが問題ないでしょうか?
質問(2)どうしたらループするでしょうか?
質問(3)fwriteの使い方はあってますか?サイズは1バイトで一個ずつの書き込みです。
※参考書を元にやっているため体系的に理解してないことも多いです。
ご教授よろしくお願いします。
#include <stdio.h>
#include <stdlib.h>
int retfunc (void)
{
int acnt,bcnt;
int srout;
for ( bcnt=0; bcnt<10; bcnt++) {
for ( acnt=0; acnt<10; acnt++)
srout=いろいろな処理;
return srout ;
}
}
main (int argc, char *argv[])
{
int srout;
FILE *FPo;
FPo = fopen("out.bmp","wb");
if ( FPo == NULL )
{
puts("Can't open out.bmp!");
return 1;
}
srout =retfunc();
fwite(&srout,1,1,fpo);
}
No.2ベストアンサー
- 回答日時:
ループを抜ける原因は#1の方が回答しているので
どう作れば良いか、を回答します。
まずループ分は呼び出し側に置きましょう。
for(){
for(){
srout = retfunc();
fwrite();
}
}
って事ですね。んでこの場合acntとbcntをどうするか、って問題があって、
(1)retfunc()に引数を持たせたくない場合
・acnt,bcntをグローバルに置く
・retfunc()内でスタティック変数として扱う
(2)retfunc()に引数を持たせても良い場合
・acnt,cntを引数で渡しましょう
んでfwrite()の使い方ですが、ずばり間違っています(動く事は動きますが、処理系によってはバグを招きます)。関数リファレンスをよく読んでください。第二引数は何と書いていましたか?
ありがとうございました。
>まずループ分は呼び出し側に置きましょう。
でだいぶ解決しました。
fwriteもsizeofで適切に処理することにしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ループを途中で抜けたいのですが。
-
c言語について
-
for文while文の無限ループの違...
-
入力した文字列から母音だけを...
-
C言語forループが完結した場合...
-
strtokを使用したループ内でのs...
-
PAD図の書き方
-
Cプログラムの問題点
-
Excel VBAで年度をまたぐ期間の...
-
基本情報技術平成21年春午後問8...
-
For文の終了値を関数にしても問...
-
マイナスからプラスへ転じた時...
-
信頼区間の1.96や1.65ってどこ...
-
「Aに対するBの割合」と「Aに対...
-
AtCoderABC135の問題Cについて
-
Aの値からBの値を除するとは??
-
C言語での引数の省略方法
-
プログラミング初心者です。 Py...
-
doubleの変数にintとintの割り...
-
「指定されたキャストは有効で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
do-while文が禁止される理由
-
ループを途中で抜けたいのですが。
-
break文でループを一気に抜ける...
-
入力した文字列から母音だけを...
-
入力した数値を倍々するプログラム
-
エクセルVBAで Do While (1)って?
-
C言語forループが完結した場合...
-
For文の終了値を関数にしても問...
-
Excel VBAで年度をまたぐ期間の...
-
if文の中にfor文なのか、for文...
-
PIC のプログラムについて ど...
-
UWSCにてある一定の動作を無限...
-
ゲームオーバーのプログラム
-
アルゴリズムです!四つの数字...
-
__asm int 3でのブレイクポイン...
-
ループの特定入力終了
-
線形探索(番兵法)のプログラ...
-
エクセルでC言語のfor文と同じ...
-
for文while文の無限ループの違...
-
フラッシュ暗算
おすすめ情報