我想在字符串中找到一個由數字和字符組成的字符,如果發現程序執行某些操作,但是當我使用函數find()時,它只返回true,如果我所查找的字符只是在字符串的開始!!!!!沒有函數查找字符串在c + +工作只與第一個字符?
例如:這是問題的一部分! 用戶輸入3個字符串s1,s2,s3,在前2個字符串之間有char'a'='+'& s2 & s3還有char b ='='(3個字符串應該是數字),但如果s2是包含字母'm'的字,程序將s3轉換爲intgeres &寫完整操作 例如:如果i/p是3247 + 5machula2 = 3749 那麼o/p將是3247 + 502 = 3749
以下是我正在試圖解決http://www.spoj.com/problems/ABSYS/ 問題,我的代碼,這部分有問題:
`INT噸; int x,y,z; string s1; string s2,s3; char a,b; cin >> T; 對(INT I = 0; I> S1 >> A >> S2 >> B >> S3;
for (int k=0; k<s2.size(); k++)
{
if (k==s2.find("m"))
{
stringstream ss(s1);
stringstream ss3(s3);
ss>>x;
ss3>>z;
cout<<s1<<" "<<a<<" "<<z-x<<" "<<b<<" "<<s3<<endl;
}
else break;
} `
這是在第二串迴路的迴路,如果它發現了一個字符 'M'它應該做什麼上面提到的,但這裏的問題是,如果「m」是繩子,沒有其他地方的開始,它纔有效。
請編寫併發布[SSCCE(HTTP:// WWW。 sscce.org),它重現了你所問的問題。 –
'find'返回找到的字符的位置,當它在位置0處找不到時就打破。 – Default
這裏是我想解決的問題http://www.spoj.com/problems/ABSYS/ – user1951755