如標題所示,如何用另一個字符串替換字符串?例如:用戶將輸入三個輸入。第一個輸入是程序將替換的字符串;第二個是將替換input1的字符串;第三個是打印出的字符串。所以,如果:用文本流替換所有出現的一個字符串
輸入1 =花生
輸入2 =椰
輸入3 =取代花生更換
輸出:更換椰子更換
我已經開始,但我的計劃只能替換長度相同的單詞。我試圖尋找我的問題,但我不明白給定的解決方案,因爲我只是新的C/C++。
char replacing[100];
char replacement[100];
char original[1000];
int count;
cin >> replacing;
cin >> replacement;
while(! cin.eof())
{
cin >> original;
char * pch;
pch = strstr (original, replacing);
count = strlen(replacement);
strncpy (pch, replacement, count);
cout << original << endl;
}
如果你想學習C++,請去學習C++。你的問題可以在這裏找到(https://stackoverflow.com/questions/3418231/replace-part-of-a-string-with-another-string)。如果你想學習C語言,那麼請僅學習C語言,並查看'strncpy'的功能。不要混用它。這樣,你最終做錯了*兩種方式。 – nvoigt
嘗試使用'std :: string'。它有成員函數來查找子字符串並替換它的一部分。從輸入流中讀取很容易。 – Peter
您可能也有興趣[爲什麼'iostream :: eof'在循環條件內被認爲是錯誤的?](/ q/5605125) –