我正在嘗試編寫程序,儘管我已經完成了它,但我還需要更多。因此,用戶問,如果字符串包含*我想刪除第一個*和COUT輸入C++如何從字符串中刪除字符(輸入)
getline(cin,str);
int k=str.length();
for(int i=0; i<=k; i++)
if(str[i]=='*')
string::iterator it;
it=str.begin()+i;
str.erase(it);
break;
cout<<str<<endl;
我在做什麼錯給的輸入?
嘗試,如果(STR [1] == '*')。另外,如果直到只有當聲明爲真時纔會執行的內容結束,請添加大括號。 – jt234
使用['str.find()'](http://en.cppreference.com/w/cpp/string/basic_string/find)來定位'*'並且有'str.erase()'的版本。它接受一個避免迭代器計算的索引和長度。 – hmjd
另外,爲什麼不使用find方法而不是循環每個字符?它應該更簡單。 – RonaldBarzell