小编Ana*_*san的帖子

使用vfprintf()时出现分段错误

以下程序遇到了分段错误,我无法弄清问题是什么.

  1 #include<stdio.h>
  2 #include<stdarg.h>
  3 void writeformat(FILE*,char*, ...);
  4 int main()
  5 {
  6   FILE *fp;
  7   fp=fopen("file1.txt","w");
  8   writeformat(fp,"/modules.php?name=Top&querylang=%20WHERE%201=2%20ALL%20SELECT%201,pwd,1,1%20FROM%20nuke_authors/*");
  9   fclose(fp);
 10   return(0);
 11 }
 12 
 13 void writeformat(FILE *stream,char *format, ...)
 14 {
 15   va_list args;
 16   va_start(args,format);
 17   vfprintf(stream,format,args);
 18   va_end(args);
 19 }
Run Code Online (Sandbox Code Playgroud)

我试过gdb,它告诉我问题在于vfprintf():

(gdb) run
Starting program: /ws/anaganes-sjc/junk 
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x2aaaaaaab000

Program received signal SIGSEGV, Segmentation fault.
0x0000003c44c7fb30 in wcslen () from /lib64/libc.so.6
(gdb) …
Run Code Online (Sandbox Code Playgroud)

c c++ segmentation-fault

3
推荐指数
1
解决办法
3699
查看次数

标签 统计

c ×1

c++ ×1

segmentation-fault ×1