C/C++の宿題片付けます 151代目
レス数が900を超えています。1000を超えると表示できなくなるよ。
0948デフォルトの名無しさん
2011/08/01(月) 15:57:08.64> if(fread(&data,1,sizeof(ORDER),fp)!=sizeof(ORDER)) {
これだとファイルから改行も含め、ORDERのサイズ(272バイト)だけ読み込もうとするが、test.txtは88バイトしかない。
freadは正常時は「272バイトの塊を何個読んだか」(通常は1)を返す。
読み込んだバイト数ではない。
--->1 != 272で1回目でbreakするため、mallocを1回も実行しない
--->メモリを確保出来ていないので、正常printできない。
対策:
if(fscanf(fp,"%s",s)==0) {
とすると、ファイル1行にデータ1個なので、sには1件文のデータが入る。
レス数が900を超えています。1000を超えると表示できなくなるよ。