2012-12-26 36 views
-4

我是C++新手。我的任務是用"*"替換字符串變量的最後3個字符。字符串的大小可以是可變的。
例如: - 如果字符串xyz = "123456"那麼它應該與"***"取代456和輸出字符串應該像"123***"如何在C++中用「*」替換字符串內的字符?

+0

你試過什麼? –

+0

**關於閉包**的評論:可以準確地告訴*假設我們正在談論C++字符串,所要求的是什麼。我沒有評論問題的質量,但我無法弄清楚這個問題怎麼可能被認爲是不真實的。假設xyz的類型爲'std :: string',則爲 – DWright

回答

2

xyz.assign(xyz.length(), '*');

注意,原來的問題是編輯,包括需求,只有右側的三個字符串的字符換成'*'。看到我的評論下面履行這一要求。

+0

。 – DWright

+0

「替換字符串變量的內容」 - 我會說你給與問題內容的假設是相當安全的。 – WhozCraig

+0

是的,我同意。除非用戶引用char *或char []作爲字符串? – DWright

1

使用std::string::replace()

string::iterator it = str.begin(); 
    str.replace(it,str.end(),str.size(),'*'); 
+0

請再次檢查問題。我編輯過它。對造成的不便表示歉意 – user1466466

0

嘗試與此類似:

這不是編譯檢查。

for(int i=0; i<strlen(yourString);i++){ 
    yourString[i]='*'; 
}