我在"fprintf“得到了核心转储,请帮助我修复这个错误...
GDB报告:程序接收信号SIGSEGV,分段故障。来自/lib64/libc.so.6的fwrite ()中的0x0000003935467934
代码:
extern FILE *debug;
int main(int argc, char ** argv)
{
if (argc != 2)
{
exit(1);
}
char filename[128];
memset(filename, '\0', 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 output\n", filename);
fprintf(debug, "\n\n\t\t********** Started **********\n\n");
fflush(debug);
}发布于 2017-07-26 22:17:24
您的fprintf将尝试打印debug变量,即使它是空指针,这也会导致段错误。
https://stackoverflow.com/questions/45328951
复制相似问题