C++ ios::Skipws() 函数



C++ 的std::ios::skipws()函数是一个用于输入流的操作符。当它在输入流上被调用时,它会使流在提取实际输入之前跳过任何空白字符(空格、制表符、换行符)。这确保了空白字符不会干扰从流中读取数据。

语法

以下是 std::ios::skipws() 函数的语法。

ios_base& skipws (ios_base& str);

参数

  • str - 它表示受影响的格式标志的流对象。

返回值

此函数返回参数 str。

异常

如果抛出异常,则 str 处于有效状态。

数据竞争

它修改了 str。对同一流对象的并发访问可能会导致数据竞争。

示例

在下面的示例中,我们将考虑 skipws() 函数的基本用法。

#include <iostream>
#include <sstream>
int main()
{
    std::istringstream x("  1  12");
    int a, b;
    x >> std::skipws >> a >> b;
    std::cout << "a: " << a << ", b: " << b << std::endl;
    return 0;
}

输出

以上代码的输出如下:

a: 1, b: 12

示例

考虑以下示例,我们将禁用 skipws() 函数。

#include <iostream>
#include <sstream>
int main()
{
    std::istringstream a("  1  22");
    int x, y;
    a >> std::noskipws >> x >> y;
    std::cout << "x : " << x << ", y : " << y << std::endl;
    return 0;
}

输出

以下是以上代码的输出:

x : 0, y : 32761
ios.htm
广告