首頁 >後端開發 >C++ >如何讀取 C 輸入中的空格?

如何讀取 C 輸入中的空格?

Patricia Arquette
Patricia Arquette原創
2024-12-02 05:29:13981瀏覽

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() 在遇到換行符或達到指定限制時停止讀取字元。它將空字元 ( ) 附加到陣列以終止字串。

有關輸入和輸出操作的更多信息,請參閱有關 std::cin 和 std::cout 介面的文件。

以上是如何讀取 C 輸入中的空格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn