2012-12-26 37 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]='*'; 
}