首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎样把信息以二进制形式写入文件解决思路

2012-02-17 
怎样把信息以二进制形式写入文件我想把unsignedlong数据以二进制写入到文件中,已知每个数据需要的位数(BIT

怎样把信息以二进制形式写入文件
我想把unsigned   long数据以二进制写入到文件中,已知每个数据需要的位数(BIT,即只需写N位即可),怎样操作啊?
我这样做,但没有数据写入.
ifstream   in( "test.txt ");     //其中是字符
ofstream   out;
out.open( "result.xxx ",   ios::binary);

int   index;

while(!in.eof())
{
in> > index;
out.write((char*)(code[index]),code_len[index]);
}


[解决办法]
将一个多字节数据写到文件中,然后再从文件中将其恢复,这种方法存在移植性问题,因为不同的平台有不同的字节排序方法(大端和小端),楼主需要以一种统一的格式(自己定义一个顺序,或者采用网络字节序)进行约定,这样才可以。
[解决办法]
BIT,即只需写N位即可
=========
读写文件的基本单位是字节, 无法只写几个位,
只能整个字节写到文件中 ~~~
[解决办法]
//先用简单的程序测试一下看看

char str[]= "Hello, Boy! ";

ofstream out;
out.open( "result.txt ", ios::binary);
out.write(str, strlen(str)); //写文件
out.close(); //关闭
[解决办法]
> > 楼主需要以一种统一的格式(自己定义一个顺序,或者采用网络字节序)进行约定,这样才可以。

XDR ...
[解决办法]
对文件的操作都是以字节为单位的,楼主想以bit为单位操作文件是不行的。

热点排行