我遇到了char指针的问题。 我知道我可以做这样的事情:
char *pointer="something";
但我怎么能交换它的内容呢?
我不想使用方括号,我只能使用卷曲(圆形)括号。
答案 0 :(得分:3)
唯一的答案是:你做不到。
字符串文字实际上是只读数组,您无法修改它。这就是为什么你正常地将指向字符串文字的指针声明为const
:
const char *pointer = "foo";
如果要修改内容,您需要自己声明一个数组并初始化它:
char str[100] = "foo";
或者,由于您使用C ++编程,请使用std::string
:
std::string str = "foo";
使用std::string
如果要插入更多字符,也不必担心数组溢出。