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

ofstream有关问题,求帮助!

2013-12-21 
ofstream问题,求帮助!!!ofstream bindata(C++test.bin,ios::binary)bindata.write((unsigned char*)(ch

ofstream问题,求帮助!!!
ofstream bindata("C++test.bin",ios::binary);
bindata.write((unsigned char*)(char*)(&d),sizeof(d));
d是一个class对象,为什么现在只有ostream&write(const char *,int);但这样输出到文件中总会是乱码,看以前有个ostream& write(unsigned char*,int),现在为何没了?该如何转换?  
[解决办法]

bindata<<"hello world" << endl;

[解决办法]
unsigned char是错误的,write第一个形参的类型只有char或者wchar_t两种:

basic_ostream& write(const char_type* s, streamsize n);

Effects: Behaves as an unformatted output function (as described in 27.6.2.6, paragraph 1). After constructing a sentry object, obtains characters to insert from successive locations of an array whose first element is designated by s.299) Characters are inserted until either of the following occurs:
— n characters are inserted;
— inserting in the output sequence fails (in which case the function calls setstate(badbit), which may throw ios_base::failure (27.4.4.3)).

__________________
299) Note that this function is not overloaded on types signed char and unsigned char.

注意299的注释
[解决办法]
摒弃ofstream
使用FILE *

热点排行