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

整数写入文件的有关问题

2012-04-17 
整数写入文件的问题intmain(){std::fstreamfsbin( D:/a.bin ,std::ios_base::binary|std::ios_base::tru

整数写入文件的问题
int   main()
{
        std::fstream   fsbin( "D:/a.bin ",   std::ios_base::binary|std::ios_base::trunc|std::ios_base::out);
        if(!fsbin.good())
        {
std::cout   < <   "a.bin "   < <   std::endl;
return   -1;
        }
        int   a   =   123;
        fsbin   < <   a;
        fsbin.close();
        return   0;
}

这个是用二进制写的文件,为什么写入a.bin的是31   32   33三个字符呢?
这跟定义char   *   a   =   "123 "写入没有区别。

为什么不是写入123整数的16进制表示法呢?也就是占4个字节。为00   00   00   7B

[解决办法]
< < 进去的都是字符串
fsbin.write((char*)&a ,sizeof(a));这样写的话,就是二进制文本

热点排行