如何告诉cin不允许输入空格? (C ++)

时间:2016-08-21 01:37:40

标签: c++ string memory input cin

当这个运行时,我想不能在cin中输入任何空格我可以使用哪种格式说明符?

<string>中的任何内容是否允许我这样做?

#include <iostream>
#include <string>
using namespace std;
int main(){
    string yy;
    cin >> string;

    /*when this runs I want to not be able to enter any spaces in `cin`
    what format specifier can I use for this? is their anything in      `<string>` that lets me do this?
    */
    return 0;
}

1 个答案:

答案 0 :(得分:1)

您可以使用std::noskipws在格式化输入之前禁用自动跳过空格:

if (std::cin >> std::noskipws >> yy) {
    std::cout << "read '" << yy << "'\n";
}

如果用户在字符串之前输入空格,那将是一个错误,因为无法成功读取任何单词。