CodeBlocks字符串输出分隔

问题描述 投票:-1回答:1

我正在为CodeBlocks中的程序测试字符串输出。这是代码:

    #include <iostream>
    #include <string>
    using namespace std;

    int main(){

    string entry = "";
    while(entry!="x"){

        cout<<"Enter: "; 
        cin>>entry;
        cout<<entry.substr(0,1)<<endl;

    }
    return 0;
}

但是打印结果就好像它是由空格分隔而cout字符串“Enter”的顺序错误,好像它被错误一样。可能是什么原因以及如何解决这种情况?

Output:

Enter: P q r
P
Enter: q
Enter: r
Enter: 
c++ string output codeblocks
1个回答
0
投票

要阅读整行,请不要使用cin >> whatever。它遇到空格(空格,制表符和换行符)时将停止读取。使用std::getline()

getline(cin, entry);

现在这变成了现实:

assert(entry == "P q r");
© www.soinside.com 2019 - 2024. All rights reserved.