這裏字符(az,AZ)是我的代碼:刪除所有來自C++字符串
#include <iostream>
using namespace std;
string moveString(string t, int index)
{
for (int i=index; t[i]!=NULL;i++)
{
t[i]=t[i+1];
}
return t;
}
string delChars(string t)
{
for (int i=0; t[i]!=NULL; i++)
{
if (t[i]>'a' && t[i]<'z')
{
moveString(t, i);
}
else if (t[i]>'A' && t[i]<'Z')
{
moveString(t, i);
}
}
return t;
}
int main()
{
int numberOfSpaces;
string t;
cout << "Text some word: "; cin>>t;
cout<<delChars(t);
return 0;
}
第一功能moveString
應該(理論上)採取了從一個字符串的每一個字符由1個指數下跌(開始從給定的索引) - 刪除1個字符。其餘的很明顯。但是:
輸入:abc123def
輸出:abc123def
我在做什麼錯?
還有一個小問題:實際上,從數組中刪除元素的最佳方法是什麼? (陣列的int
S,char
S等)
... ['std :: remove_copy_if()'](http://en.cppreference.com/w/cpp/algorithm/remove_copy)? – genpfault