- 446 名前:デフォルトの名無しさん [2008/01/22(火) 15:14:04 ]
- fp=fopen(argv[1],"w");
buffer=(char *)malloc(buffer_size); while(fgets(buffer,sizeof(buffer),stdin)){ fputs(buffer,fp); if(sizeof(buffer)==buffer_size){ buffer=(char *)malloc(sizeof(buffer)*2); buffer_size=buffer_size*2; fputs(buffer,fp); free(buffer); ファイル入出力プログラムの一部ですが、 sizeof(buffer)では4バイトしか確保できないということに気がつきました。 できるだけプログラムをいじらず入力したサイズを取得する方法はありますか? ヒントをください。buffer_sizeの初期設定は1000byteです。 strlenでもできませんでした。
|

|