我目前正在为无法输出(printf)或无法正确读取二进制文件而苦苦挣扎。
以下代码的结果为 (fread: Success)。
if (fread(list, sizeof(struct Ticket), 10, fp) == 10){
perror("fread");
}
然后我尝试使用以下代码 printf:
for ( i = 0; i < 10; i++ ) {
printf("%d\t%s\t%d\n", list[i].code, list[i].station, list[i].price);
}
导致混乱的无法识别的代码(虽然它是 10 行)。
另外,当我尝试继续使用以下代码时:
printf("\nPlease submit your destination\n");
scanf("%d\n", dec);
fprintf(stdout, "%d\t%s\t%d\n", list[dec-1].code, list[dec-1].station, list[dec-1].price);
在 scanf 输入后,错误显示为分段违规。
PS fwrite 是用 perror("fwrite"); 测试的。并取得了成功。
抱歉英语和编程很差。如果有人能提供帮助,我将不胜感激。
谢谢