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中文網其他相關文章!