>>923
test.txt の内容を、空白も含めて codepad にあげてください。
たぶん、
if(fread(&data,1,sizeof(ORDER),fp)!=sizeof(ORDER)){
break;
の fread() の書きようがまずくて、即座に break -> return NULL
引き続いて
void file_read(ORDER *node){
が
file_read(NULL)
でコールされ、
printf("[%d] (%s, %d)\n", k++, node->name, node->price);
の
node->nameが
NULL->name
となってセグメンテーションエラー(例外)がでている

と推察します。