使用std::string
做
std::string a("123 ");
std::string b("123");
a.erase(std::remove_if(a.begin(), a.end(), ::isspace), a.end());
if (a == b)
std::cout << "Same";
通過using
帶來的變化將是
using namespace std;
string a("123 ");
string b("123");
a.erase(remove_if(a.begin(), a.end(), ::isspace), a.end());
if (a == b)
cout << "Same";
通常建議不要使用using namespace std
。不要忘記包括<string>
和<algorithm>
。
編輯如果您仍然想這樣做的C方式,從這個帖子
https://stackoverflow.com/a/1726321/2425366
void RemoveSpaces(char * source) {
char * i = source, * j = source;
while (*j != 0) {
*i = *j++;
if (*i != ' ') i++;
}
*i = 0;
}
檢查這個線程:) http://stackoverflow.com/questions/使用功能5891610/how-to-string-characters-from-a-string – Zerray
'std :: cout'真的很可怕嗎?這只是另一個完全相同的名字。 – john
你的問題是不明確的,你想從字符串中刪除所有空格,你只是想從字符串的末尾刪除它們,也許你想從開始和結束,但不是中間刪除它們?您需要清楚地詢問您是否需要適當的答案。 – john