小编Dav*_*try的帖子

fprintf iofputs.c上的分段错误:没有这样的文件或目录

我有以下代码:

    FILE* fp;
    if(value.empty())
      return ID;
    fp=fopen((tmpDir+"/"+filename).c_str(),"a");
    string sID="";
    if(ID>-1){
      sID=to_string(ID)+"\t";
    }
    string row=sID+drawingID+"\t"+data+"\n";
    fprintf(fp,"%s",row.c_str());
    fclose(fp);
Run Code Online (Sandbox Code Playgroud)

在GDB下,代码失败并出现以下错误:

    Program received signal SIGSEGV, Segmentation fault.
    __GI__IO_fputs (str=0x4a864 "1000001\t0\t70\t1\n", fp=0x0) at iofputs.c:38
    38  iofputs.c: No such file or directory.
Run Code Online (Sandbox Code Playgroud)

c++ gdb

0
推荐指数
1
解决办法
958
查看次数

标签 统计

c++ ×1

gdb ×1