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中文网其他相关文章!