2016-01-13 74 views
-3

我得到了char指針的問題。 我知道我可以做這樣的事情:沒有方括號的字符指針

char *pointer="something"; 

,但我怎麼可以交換它的內容?

我不想使用方括號,我只能使用捲曲(圓)括號。

+1

研究:指針運算 – NathanOliver

+0

@ArmenTsirunyan抽象。你有其他人寫一個頭文件(所以它不是你的代碼),頭文件是#define man main'然後你包含老鼠。另一個'我'。 – user4581301

+0

_「我不想使用方括號,我只能使用捲曲(圓括號)括號。」_y'wot –

回答

3

唯一的答案是:你不能。

字符串文字實際上是一個只讀數組,您不能修改它。這就是爲什麼你正常聲明指向字符串字面量爲const

const char *pointer = "foo"; 

你需要自己聲明數組並初始化它,如果你要修改的內容:

char str[100] = "foo"; 

或者,因爲你是編程在C++中,使用std::string

std::string str = "foo"; 

使用std::string你也別擔心溢出的數組,如果你想插入更多的字符。