【发布时间】:2022-01-31 22:47:04
【问题描述】:
我想用另一个词替换句子中的一个词。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str);
cout << "Original text: " << str;
for (int j = 0; j < (int)str.size(); j++) {
string key = str.substr(j, 7), repl;
if (key == "ronaldo") {
repl = "messi";
for (int k = 0; k < 5; k++) {
str[j + k] = repl[k];
}
}
}
cout << "\nNew text: " << str << endl;
return 0;
}
原创 --> “世界上最好的足球运动员罗纳尔多将成为今年的冠军。”
New Sentence -> 世界上最好的足球运动员 messi 将成为今年的冠军。” 罗纳尔多 --> 梅西
使用 str.subst 时出现错误
【问题讨论】:
-
你认为这行会发生什么:
string key = str.substr(j, 7), repl;当j是str.size() - 1时? -
罗纳尔多-->梅西多,但我想要罗纳尔多-->梅西
-
“我收到一个错误”您遇到什么错误?
-
我想更改我选择的字符串 (ronaldo) 的 7 索引。如果有其他方法可以分享给我吗?
-
错误的输出是预期的输出-> messi 输出-> messido