我有功能。 FA-> file_temp是FA->文件的副本。 FA-> file_temp处于TEMP目录中。 (C:\用户\用户\应用程序数据\本地\温度)
stat(FA->file, &st_file);
filesize = st_file.st_size;
ffile = fopen(FA->file_temp, "rb");
if (ffile == NULL) perror("NULL!!!!!!!!!!!!!1\n");
strcpy(str, FA->file_dir);
strcat(str, "packed");
temp_name(str) ;
strcpy( FA->tmpname , str);
ftmpname = fopen(FA->tmpname, "wb");
if (ftmpname == NULL) perror("NULL!!!!!!!!!!!!!1\n");
if (rc = encode(ffile, ftmpname, filesize)!=0)
longjmp(Berror, rc);
答案 0 :(得分:1)
Perchance,您的计划是否在'NULL!!!!!!!!!!!!'
之前大喊assertion failed
?关于断言的消息是fo
为空。
我在这里的时候,
if (rc = encode(ffile, ftmpname, filesize)!=0)
可能不是你想要的。这会将encode(ffile, ftmpname, filesize)!=0
的所有内容存储到rc
中。你可能意味着:
if ((rc = encode(ffile, ftmpname, filesize))!=0)