从MPQ包中读取二进制流出来然后文件写到硬盘。

DWORD size = SFileGetSize(hFile);

char* buffer = new char[size];

std::ofstream ofs;

ofs.open(name);

ASSERT(ofs.good());

ofs.write(buffer, size);

ASSERT(ofs.good());

ofs.close();

.xml,.lua,等文本都是对的,唯独.jpg这些图片些不对!

open改为ofs.open(name, std::ios::out | std::ios::binary);

就对了!

原因应该是ofstream打开文件时默认是文本格式吧。。。

void open(
const char *_Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot
);
void open(
const char *_Filename,
ios_base::openmode _Mode
);
void open(
const wchar_t *_Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot
);
void open(
const wchar_t *_Filename,
ios_base::openmode _Mode
);

std::ofstream由二进制流写文件的问题的更多相关文章

  1. ajax 请求二进制流 图片 文件 XMLHttpRequest 请求并处理二进制流数据 之最佳实践

    写在前面 :从提出需求到完美的解决问题,实现过程是曲折的. 需求:在前(web client)后(Restful Service)端完全解耦的模式框架下,webclient需要请求 Service 返 ...

  2. django提供二进制流数据文件的下载

    基于djnago框架的二进制流数据传输(提供较大文件的下载) (1)数据源: 高质量图片.视频.音频.文件.数据库数据等.如果是数据库文件,需要先读取相应的数据,然后写入表格在传输到前端以供下载! ( ...

  3. 使用IO流写文件的一些骚操作

    序言 当需要对文件进行操作时,使用IO流是不能避免的操作:比如业务中需要存储一些请求的响应结果中的一些内容.当所需处理的文件过大时,如果频繁的关闭文件流,会造成很大的开销,何时关闭?往往会造成比较大的 ...

  4. Java基础之写文件——通过缓冲流写文件(StreamOutputToFile)

    控制台程序,生成一些二进制整型值并且将它们写入到文件中. import java.nio.file.*; import java.nio.*; import java.io.*; public cla ...

  5. net9:图片文件转换成二进制流存入SQL数据库,以及从数据库中读取二进制流输出文件

    原文发布时间为:2008-08-10 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  6. 第六章 MVC之 FileResult和JS请求二进制流文件

    一.FileResult 1.简介 表示一个用于将二进制文件内容发送到响应的基类.它有三个子类: FileContentResultFilePathResultFileStreamResult 推荐阅 ...

  7. C++ 读 ,写 文件

    1 //文件操作 2 //文本文件 读 ,写文件 3 4 #include <iostream> 5 #include <string> 6 #include<fstre ...

  8. Node.js写文件的三种方法

    Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...

  9. Java之字符流读写文件、文件的拷贝

    字符流读数据 – 按单个字符读取 创建字符流读文件对象: Reader reader = new FileReader("readme.txt"); 调用方法读取数据: int d ...

随机推荐

  1. 微软职位内部推荐-Senior Software Development Engineer

    微软近期Open的职位: Job posting title: Senior Software Development Engineer Location: China, Beijing Divisi ...

  2. Laravel5 路由问题 /home页面无法访问

    参考网址:http://stackoverflow.com/questions/11791375/laravel-routes-not-working Laravel5 路由问题 /home页面无法访 ...

  3. duilib中各控件响应的消息类型

    消息 说明 Sender click 鼠标点击 CButtonUI dropdown 下拉显示 CComboUI headerclick 点击列标题 CListHeaderItemUI itemact ...

  4. Winform 文件控件 - 转

    1. OpenFileDialog private void openFileDialogBTN_Click(object sender, System.EventArgs e) { OpenFile ...

  5. POJ 1680 Fork() Makes Trouble

    原题链接:http://poj.org/problem?id=1680 对这道题,我只能说:我不知道题目是什么意思,但是AC还是没有问题的. 看来题目半天没明白fork()怎么个工作,但是看样例(根据 ...

  6. Webbrowser 取消下载提示框

    在使用Webbrowser抓取网页信息时,碰到需要下载文件,这时需要用户介入操作,如何避免: 首先引进 [DllImport("urlmon.dll", CharSet = Cha ...

  7. linux下如何导入导出MySQL数据库

    一.导出:用mysqldump命令行命令格式mysqldump -u 用户名 -p 数据库名 > 数据库名.sql范例:mysqldump -u root -p abc > abc.sql ...

  8. Oracle调优总结(经典实践 重要)

    转载:http://langgufu.iteye.com/blog/1974211 Problem Description:1.每个表的结构及主键索引情况2.每个表的count(*)记录是多少3.对于 ...

  9. (转)开源爬虫larbin分析

    转自风中之炎的博客:http://www.cnblogs.com/FengYan/archive/2012/02/04/2338630.html 1. larbin简介(百度百科) larbin是一种 ...

  10. UVA 11424 GCD - Extreme (I) (欧拉函数+筛法)

    题目:给出n,求gcd(1,2)+gcd(1,3)+gcd(2,3)+gcd(1,4)+gcd(2,4)+gcd(3,4)+...+gcd(1,n)+gcd(2,n)+...+gcd(n-1,n) 此 ...