gpt4 book ai didi

c - 取消引用 char 指针会导致段错误

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

我正在使用 strchr 查找缓冲区中遇到 = 的点。然后我将那个 equal too 字符更改为 M。我在尝试执行此操作的那一行遇到了段错误。

这是完整代码:

int main(void){
char *buffer = "Name=Tom"
char *pointer;
pointer = strchr(buffer,'=');
*pointer = 'M'; <--------- Segfault Occurs here
return (0);
}

我收到以下段错误错误:

Process terminating with default action of signal 11 (SIGSEGV)
Bad permissions for mapperd region at addresss .....

最佳答案

您没有检查 strchr 的返回值,它可能是 NULL,因为我们没有看到您的输入。

除此之外,在哪里以及如何声明buffer?并非所有 char* 都可以修改,因为它们可以存储在二进制文件的数据段中(作为字符串文字)。

关于c - 取消引用 char 指针会导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35280341/

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