读书人

比较奇怪的二进制读写有关问题

发布时间: 2012-02-13 17:20:26 作者: rapoo

比较奇怪的二进制读写问题?
我的测试程序中单步调试,明明写了四次,输出结果也四次,但是输出结果却多了一个字节不知什么原因。

1.Bin:

0C 94 7D 0A

test.Bin:

0C 94 7D 0D 0A

void main()
{

ifstream fin( "c:\\1.bin " );
ofstream fout( "c:\\test.bin ", ios::app );
char ch;
int num = 0;
int index = 0;

while( fin.get( ch ) )
{
index ++;
num = (uchar)ch;
fout.write( (char*)&num, 1);
}
cout < < index < < endl;

fin.close();
fout.close();
}

真实怪事多多。
希望大家指点一下,谢谢!!


[解决办法]
ifstream fin( "c:\\1.bin ", ios_base::binary);
ofstream fout( "c:\\test.bin ", ios::app | ios_base::binary );
C时代就应该知道的基本知识了。


[解决办法]
0d 0a
回车


0a
回车

UNIX和dos的回车符不一样

读书人网 >C++

热点推荐