ホームページ > バックエンド開発 > C++ > C 入力でスペースを読み取るにはどうすればよいですか?

C 入力でスペースを読み取るにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-02 05:29:13
オリジナル
906 人が閲覧しました

How Can I Read Spaces in C   Input?

C でのスペースの識別と読み取り

C での入力および出力操作は、空白文字に関する特定の規則に従います。デフォルトでは、ストリームマニピュレータ cin および cout は、データの読み取りまたは書き込み中に空白を無視します。これにより、特にスペース文字をキャプチャしようとすると問題が発生する可能性があります。

提供されたコード スニペットでは、

int main() {
    char a[10];
    for (int i = 0; i < 10; i++) {
        cin >> a[i];
        if (a[i] == ' ')
            cout << "It is a space!!!" << endl;
    }
    return 0;
}
ログイン後にコピー

プログラムは入力中にスペースを無視します。これを解決するには、次のアプローチを検討してください。

noskipws マニピュレータの使用:

このマニピュレータは、デフォルトの空白スキップ動作を無効にします:

cin >> noskipws >> a[i];
ログイン後にコピー

cin.get() の使用関数:

この関数は、スペースを含む入力バッファーから文字を読み取ります:

cin.get(a, n);
ログイン後にコピー

ここで、n は読み取る文字数です。

注意: cin.get() は、改行に遭遇するか、指定された制限に達すると、文字の読み取りを停止します。配列に null 文字 ( ) を追加して文字列を終了します。

入出力操作の詳細については、std::cin インターフェイスと std::cout インターフェイスのドキュメントを参照してください。

以上がC 入力でスペースを読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート