Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
728 views
in Technique[技术] by (71.8m points)

c++ - Replace some character in string

I have a string of 8 characters '00001111' I want to replace some specific index value. For example if I check stringName[2]=='0' and replce it using stringName.replace(2,2,"1") then it replaces but one character is missed at the end

if (xyz[3]=='0')
{
    xyz.replace(3,3,"1");
}
else
{
    xyz.replace(3, 3, "0");
}

output

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The problem is misuse of the replace method, the first parameter is index of the start for replace, the second is length, and the third is the string that should be inserted. hence saying replace(2,2,"0") means replace the two chars that start at index 2 with "0" (a string of one char), that is why you have chars disappearing.

the solution is as people said, string[index_you_want_to_replace] = 'some_char'.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...