2016-08-21 22 views
-1

これが実行されると、私はcinにスペースを入力できないようにしたいのですが、これにどのようなフォーマット指定子を使用できますか?入力時に空白を許可しないようにするにはどうすればよいですか? (C++)

<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; 
} 
+0

'C++'はユーザが標準入力( 'std :: cin')で入力できるものを制御できません。彼らがあなたに何かしようとしていることに応じて、あなたにスペースを与えたり、無視したりすれば、あなたがすることができるのは文句です。 – Galik

+0

私は空白を無視しようとしています。スペースが2つの文字列の間にある場合、私のプログラムは予期しない動作をします。予期しない望ましくない動作。だから私はスペースを無視し、最初の文字列だけ私の他の関数に渡す取得したい。 – Tristan

答えて

1
あなたがフォーマットされた入力の前に空白の自動スキップを無効にする std::noskipwsを使用することができます

:ユーザーが文字列の前にスペースを入力した場合何語の読み出しに成功することはできなかったとして、それはエラーになります

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

関連する問題