为什么字符串没有更新并且最终没有打印任何内容

Why the string is not getting updated and doesn't print anything in the end

本文关键字:打印 任何内 字符串 更新 为什么      更新时间:2023-10-16

CODE:

#include <iostream>
using namespace std;
int main() {
string message, rMessage;
getline(cin,message);
for(int i=0;i<message.length();i++) {
if( (message[i]>='a' && message[i]<='z') ||
(message[i]>='A' && message[i]<='Z') ||
(message[i]>='0' && message[i]<='9') ) {
rMessage[i] = message[i];
}
else {
continue;
}
}
cout<<"Removed: "<<rMessage;
} 

问题:

它在输出中显示一个空白字符串,字符串长度为 0。 删除标点符号的代码是否正确?我们必须执行哪些编辑来解决问题?

我们必须进行什么编辑才能解决问题?

改变

rMessage[i] = message[i];

rMessage += message[i];

原因在您问题的评论部分给出。