用于显示字符串每个字符的 for 循环 |C++

For loop for displaying each character of string | C++

本文关键字:for 循环 C++ 字符 显示 字符串 用于      更新时间:2023-10-16

我想知道如何控制字符串并从字符串中获取字符。
这是我的代码:

#include <iostream>
#include <string>
using namespace std;
int mainMenu();
int main() {
    mainMenu();
}
int mainMenu(){
    string introText = "Welcome... Let me know your name!";
    cout << "ttt";
    for (int i = 0; i <= introText.length(); i++){
        unsigned controller = i + 1;
        cout <<introText.substr(i,controller);
    }
}

这将输出以下内容:

    Wellcocomeome..me... e... Le... Let .. Let me. Let me k Let me knoLet me know et me know yot me know your me know your nme know your name know your name! know your name!know your name!now your name!ow your name!w your name! your name!your name!our name!ur name!r name! name!name!ame!me!e!!

正确的方向是什么?我该如何解决这个问题?

std::basic_string::substr用于提取字符串的一部分。如果要打印字符串的每个字符,只需使用 std::basic_string::operator[]std::basic_string::at

for (int i = 0; i < introText.length(); i++){
    cout <<introText[i]; // or cout <<introText.at(i);
}
#include <iostream>
#include <string>
using namespace std;
int mainMenu();
int main() {
    mainMenu();
}
int mainMenu(){
    string introText = "Welcome... Let me know your name!";
    cout << "ttt";
    for (int i = 0; i < introText.length(); i++){
        //unsigned controller = i + 1;
        //cout <<introText.substr(i,controller);
        cout << introText[i];
    }
        cout << endl;
}

这输出

                Welcome... Let me know your name!

只需使用introText[i]

int mainMenu(){
string introText = "Welcome... Let me know your name!";
cout << "ttt";
for (int i = 0; i < introText.length(); i++){
    cout << introText[i];
}
    cout << endl;

}