c++ - strcpy() 导致段错误?

标签 c++ c segmentation-fault strcpy

<分区>

Possible Duplicate:
Getting Segmentation Fault

为什么这段代码会导致段错误?

char *text = "foo";
strcpy(text, "");

据我所知,第一行分配了一些内存(用于保存字符串“foo”),text 指向分配的内存。第二行将空字符串复制到 text 指向的位置。

这段代码可能没有多大意义,但为什么会失败?

最佳答案

只要您有字符串文字(在您的例子中为“foo”),程序就会将该值存储在内存的readonly 部分。

strcpy 想要修改该值,但它是只读的,因此出现段错误。

此外,text 应该是 const char*,而不是 char*

关于c++ - strcpy() 导致段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7508527/

相关文章:

C 段错误 :11

c++ - 从 twitcurl timelineUserGet 方法获取未授权错误

C++如何将目录中的文件名放入 vector 中?

c++ - WSAENOBUFS 和 WSAEWOULDBLOCK 有什么区别?

c - 在 local_bh_disable()/local_bh_enable() 中使用 rcu_dereference() 是否安全?

C - 结构体指针数组,语法

c - 段错误(核心转储)字符数组

c++ - 通过引用传递 vector 的 typedef vector

c while循环入口

mysql - 访问 MySQL 数据库时出现 RoR 段错误