我在代码的第一行得到一个奇怪的分段错误.
我只是打电话
FILE *src = fopen(argv[1], 'r');
Run Code Online (Sandbox Code Playgroud)
我在gdb中得到了一条带有错误信息的段错误...
程序接收信号SIGSEGV,分段故障.
0x00007ffff779956d in _IO_file_fopen () from /lib/x86_64-linux-gnu/libc.so.6
Run Code Online (Sandbox Code Playgroud)
我将文件的名称直接复制到运行时执行中.思考?
NPE*_*NPE 14
第二个参数fopen()应该是一个字符串,而不是char:
FILE *src = fopen(argv[1], "r");
Run Code Online (Sandbox Code Playgroud)
请注意双引号.
打开编译器警告并密切关注它们总是一个好主意.我的编译器选择了不正确的参数:
test.c:4:1: warning: passing argument 2 of 'fopen' makes pointer from integer without a cast [enabled by default]
In file included from test.c:1:0:
/usr/include/stdio.h:250:7: note: expected 'const char *' but argument is of type 'int'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2908 次 |
| 最近记录: |