gpt4 book ai didi

c - fopen 上的段错误

转载 作者:太空宇宙 更新时间:2023-11-04 05:03:35 26 4
gpt4 key购买 nike

我在代码的第一行遇到了一个奇怪的段错误。

我所做的就是打电话

FILE *src = fopen(argv[1], 'r');

我在 gdb 中遇到了一个段错误...

程序接收到信号 SIGSEGV,段错误。

0x00007ffff779956d in _IO_file_fopen () from /lib/x86_64-linux-gnu/libc.so.6

我直接复制文件名进入运行时执行。想法?

最佳答案

fopen() 的第二个参数应该是一个字符串,而不是一个char:

FILE *src = fopen(argv[1], "r");

注意双引号。

打开编译器警告并密切关注它们始终是个好主意。我的编译器选择了不正确的参数:

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'

关于c - fopen 上的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15879761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com