我一直试图做一个保存功能,用不同的文件名保存一个新文件,并且我收到此错误消息,抱怨该fread,我猜它是因为找不到fopen,但是它被写了,我仍然会收到错误消息,因此,如果有人可以帮助在代码中显示出什么问题,我将非常感激。
代码链接:
表达式:stream!= nullptr 行:48
我不确定为什么要保存新文件时错误出现在选择菜单中,但是当用户选择菜单选择中的任何其他内容时却不显示错误。
示例:
输入:
答案 0 :(得分:0)
fflush(stdin); 可能在printf("\nEnter the New File Name:");
之后不起作用,因此scanf("%[^\n]", name);
的输入为'\ n',并且不执行任何操作,并且 name
fp = fopen(name, "wb");
fp1 = fopen(fname, "rb");
由于名称无效,因此fopen无效,因此在 fp 和 fp1 为空之后,会导致断言失败。
请勿使用 fflush ,并且在您进行 fopen 检查之后,始终不会获得空指针。
只需替换
fflush(stdin);
scanf("%[^\n]", name);
作者
scanf("%s", name);
一切都会好的