我在"fprintf"处得到核心转储,请帮助我修复此错误...
GDB报告: 程序接收信号SIGSEGV,分段错误。 0x0000003935467934 来自/lib64/libc.so.6 的 fwrite ((
法典:
extern FILE *debug;
int main(int argc, char ** argv)
{
if (argc != 2)
{
exit(1);
}
char filename[128];
memset(filename, ' ', 128);
strcpy(filename, var);
strcat(filename,"/rout/debug");
strcat(filename,"_");
strcat(filename,dateStr);
strcat(filename,"_");
strcat(filename,argv[1]);
strcat(filename,".out");
debug = fopen(filename, "a");
if (debug == NULL)
printf("Cannot open %s for outputn", filename);
fprintf(debug, "nntt********** Started **********nn");
fflush(debug);
}
您的fprintf
将尝试打印debug
变量,即使它是空指针,也会导致段错误。