没有方括号的字符指针

时间:2016-01-13 17:57:12

标签: c++ pointers char

我遇到了char指针的问题。 我知道我可以做这样的事情:

char *pointer="something";

但我怎么能交换它的内容呢?

我不想使用方括号,我只能使用卷曲(圆形)括号。

1 个答案:

答案 0 :(得分:3)

唯一的答案是:你做不到。

字符串文字实际上是只读数组,您无法修改它。这就是为什么你正常地将指向字符串文字的指针声明为const

const char *pointer = "foo";

如果要修改内容,您需要自己声明一个数组并初始化它:

char str[100] = "foo";

或者,由于您使用C ++编程,请使用std::string

std::string str = "foo";

使用std::string如果要插入更多字符,也不必担心数组溢出。