美文网首页
在流中读取空白字符

在流中读取空白字符

作者: shelldon1024 | 来源:发表于2020-07-03 00:29 被阅读0次

    在 C/C++ 中,用 scanf 和 getchar 是可以拿到流里面的空白字符的:

    char c;
    // c = getchar();
    scanf("%c", &c);
    // 假设 stdin 里的内容是" \thello world\n",则 c 的值是' ',即空格,ASCII 是 32
    

    但是 std::cin 默认会跳过空白符的(如空格符、制表符、换行符等):

    char c;
    cin >> c;
    // 如果 stdin 里的内容是" \thello world\n",则 c 的值是'h'
    

    要让 cin 能够读取空白字符,可以提前设置 std::cin >> std::noskipws;。如果要恢复默认,则 std::cin >> std::skipws;

    相关文章

      网友评论

          本文标题:在流中读取空白字符

          本文链接:https://www.haomeiwen.com/subject/byqjqktx.html