如何从字符串流c++中提取空白

How to extract a whitespace from a stringstream c++

本文关键字:提取 空白 c++ 字符串      更新时间:2023-10-16

所以我有一个ASCII文件,它应该以两个字符开头,一个"p"和一个"2",前面没有,后面有某种形式的空白。

我遇到的问题是测试一个错误案例,其中前面有空白,我使用字符串流,因为任务的其余部分需要类似的操作,其余部分工作正常。

我遇到的问题是提取白色,我知道默认情况下提取运算符设置了skipws标志,所以我尝试打开noskipws标志但没有成功。

以下是我尝试过的一些东西。

该文件是ASCII,以开头

// Imagine there is a space before the P
function(stringstream *pstream) {
    char test;
    (*pstream).get(test); //This will put the character P in test
    (*pstream) >> noskipws >> test; //This does the same thing
}

一个简单的问题是,我如何在最好使用字符串流提取时不忽略空白,因为我还需要处理更多的流。

发现流最初是作为ifstream启动的,并且没有使用noskipws函数,所以一旦我在那里设置了它,在将它转换为字符串流之前,一切都正常。