ofstream有关问题,求帮助!
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 *