我试图从文件中读取字节,并跳过选项卡字符

时间:2016-02-22 08:24:47

标签: c++ file

所以这是我用来从文件中读取的代码。我试图读取文件中的每个字节,其中包括从0x00到0xFF的值。但由于某种原因,0x09被跳过。在ascii表中,0x09是Tab字符。

typedef unsigned char byte;

std::ifstream fin;

fin.open(fileName, std::ios::binary);

byte input;
std::vector<byte> fileContents;

for (int i = 0; i < 4096; i++)
    {
        fin >> input;
        fileContents.push_back(input);

    }

是否有任何原因导致0x09过去?

这是文件的链接

https://drive.google.com/file/d/0B9LMmsGNPg7UaVcwbWRsNi1xMFk/view?usp=sharing

1 个答案:

答案 0 :(得分:2)

对于除streambuf之外的每个重载,

operator>>都是FormattedInputFunction

你不想要格式化输入,你想要原始字符;正如约阿希姆所说,使用readget

顺便说一句,如果你想要角色,为什么要使用unsigned charstd::istreamchar_type=char,因此您可能应该与之匹配。