>>930
> 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件文のデータが入る。