c - 如何修改常量字符串?

标签 c

要创建一个可以修改的字符串,我可以这样做:

// Creates a variable string via array
char string2[] = "Hello";
string2[0] = 'a'; // this is ok

并创建一个无法修改的常量字符串:

// Creates a constant string via a pointer
char *string1 = "Hello";
string1[0] = 'a'; // This will give a bus error

我的问题是如何修改常量字符串(例如,通过转换)?而且,这是否被认为是不好的做法,还是 C 编程中常见的做法?

最佳答案

根据定义,您不能修改常量。如果您想获得相同的效果,请制作该常量的非常量副本并对其进行修改。

关于c - 如何修改常量字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57828947/

相关文章:

c - 在链表中使用 malloc 的问题

c - 如何使用 1 个循环在 C 中打印等边三角形?

c - 使用 C 中的 rand 函数用字母表填充数组

c - C 语言的骰子程序

c - C 语言的 ECDH 库?

c - 打印 EOF 值的预期程序

c - 在给定子字符串位置的情况下,删除 C 中的子字符串

c++ - 调试时如何在VS Code的集成终端中查看C程序的输出

c - 中止陷阱 6 : when running gdb on Mac OS

套接字编程中的连接拒绝错误