我正在尝试使用fstream读取bmp文件。
然而,它会跳过08和0E(十六进制)之间的值。
例如,对于以下值:
42 4d 8a 16 0b 00 00 00 00 00 36
它只会读取:
42 4d 8a 16 00 00 00 00 00 36
就好像文档中不存在0b一样。
该怎么办?
代码:
ifstream in;
in.open("ben.bmp", ios::binary);
unsigned char a='\0';
ofstream f("s.txt");
while(!in.eof())
{
in>>a;
f<<a;
}
编辑:使用 in.read(a,1);
而不是 in>>a;
可以解决读取问题,但我需要写无符号字符,并且 f.write(a,1);
不接受无符号字符。有没有人有一个函数可以用来写无符号字符?