您好,我在使用 C++ 修剪字符串时遇到问题。它在末尾添加了一些奇怪的字符 字符串。
string& Napis::subst(char cold, char cnew) {
string * s = new string(data);
replace(s->begin(),s->end(), cold, cnew);
return *s; // takes back string s with changed sign
}
最佳答案
我敢打赌,您调用 subst
时 cnew
设置为零。您期望这会删除字符,但事实并非如此。顾名思义,它用零替换它们。
怎么样:
string Napis::subst(char cold, char cnew) {
assert(cnew != 0);
string s = data;
replace(s.begin(), s.end(), cold, cnew);
return s; // takes back string s with changed sign
}
关于c++ - 在 C++ 中修剪字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11176852/