【发布时间】:2012-04-15 01:48:07
【问题描述】:
可能重复:
In C++, Why can't I write to a string literal while I can write to a string object?
我第一次体验 wchar_t 字符串,但遇到了很多麻烦。每次我尝试访问 wchar_t* 中的字符时,程序都会因分段错误而崩溃。如果我想用另一个字符替换字符串中的一个字符,我应该怎么做?但是当从字符串末尾删除一个字符时呢?
wchar_t * my_string[] = L"Hello";
my_string[0] = L'Y'; // Should be "Yello". Instead, gives segmentation fault
[编辑] 没关系,我只是把自己弄傻了。我会在互联网上的其他地方检查。是我的错,我不应该用这么愚蠢的问题来打扰你……
【问题讨论】:
-
没有示例代码,这个问题比没用还糟糕。
-
该代码甚至不合法。
my_string[1]的类型是wchar_t*,不能将字符值赋给指针变量。您似乎也不了解从零开始的索引。 -
好吧,除非我想自欺欺人,否则我应该修改我的 C 知识。我知道从零开始的索引,但我习惯于使用索引 1 中的其他类型的数组。我只是匆忙在上面打了一个错字。这是真的,我没有太多的编程经验。