0

我有功能。FA->file_temp 是 FA->file 的副本。FA->file_temp 位于 TEMP 目录中。(C:\Users\User\AppData\Local\Temp)

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);
4

1 回答 1

1

或许,您的程序'NULL!!!!!!!!!!!!'之前 是否会大喊大叫assertion failed?关于断言的消息说它fo是空的。

当我在这里时,

if (rc = encode(ffile, ftmpname, filesize)!=0) 

可能不是你想要的。这将所有存储encode(ffile, ftmpname, filesize)!=0rc. 你可能的意思是:

if ((rc = encode(ffile, ftmpname, filesize))!=0) 
于 2012-04-08T05:04:26.953 回答