代码之家  ›  专栏  ›  技术社区  ›  WilliamKF

如何用空格直到换行符来读取cin?

  •  16
  • WilliamKF  · 技术社区  · 15 年前

    我希望从C++的CIN中读取当前位置,直到换行符变成字符串。要读取的字符可能包含空格。我的第一次传球失败,因为它停在第一个空间:

    string result;
    
    cin >> result;
    

    如果给出CIN:

    (cd /my/dir; doSometing)\n
    

    变量结果只得到:

    (cd
    

    我认为我应该能够使用流操纵器来完成这项工作,但是skipws不太正确,因为它将回车和空格和制表符一起抛出,而且听起来像是跳过了前导空格。

    也许我需要使用类似这样的streambuf?

    streambuf buf;
    
    cin >> buf;
    
    1 回复  |  直到 15 年前
        1
  •  21
  •   KeatsPeeks    15 年前
    std::string str; 
    std::getline( std::cin, str);