求问:怎么使用C++将一个磁盘上二进制数据文件转化为十进制数据文件

求问:如何使用C++将一个磁盘上二进制数据文件转化为十进制数据文件
           求问:磁盘上有个二进制数据文件(里面存储均为数字),如何使用C++程序将其转化为十进制数据文件?跪求代码,非常感谢。
------解决方案--------------------
那你要按什么转换呢?
1Byte还是4Byte?

当然, 不管是1Byte几个Bytes,  都可以使用字符串格式化函数格式成10进制的字符串.
比如你按1Bytes显示
BYTE data;
fread(&data, 1,1 pFile);  //从文件读取一个字节
int val = data;
char buf[0x10] = {0};       
sprintf(buf, "%d", val);  //把读取到的数据格式化到字符串中
fwrite(buf, 1,1,  pWriteFile); //把数据写入到另一个文件中.    

我觉得你应该使用UtrlEdit这样的编辑器, 直接以16进制方式显示你的数据文件, 方便分析.
------解决方案--------------------
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。

电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址;
人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……

------解决方案--------------------
第一次加入这个论坛试图回答下哈。
由于文件有1M以上,可以考虑用内存映射文件读取文件。
先CreateFile打开文件,随之CreateFileMapping创建个内存映射对象。
再MapViewOfFile 得到第一个字节的指针lpMemory。
之后就用这个指针读写文件。
随后UnMapViewOfFile,CloseHandle了。

ps:把二进制文件十进制显示有什么用途,况且1M以上的。
------解决方案--------------------
用fread读入内存后调用以下函数会转换为字符串二进制表示。

#include <stdint.h>
std::string ToBinaryString(const uint8_t* buf,int len)
{
int output_len = len*8;
std::string output;
const char* m[] = {"0","1"};

for(int i = output_len - 1,j = 0; i >=0 ; --i,++j)
{
output.append(m[((uint8_t)buf[j/8] >> (i % 8)) & 0x01],1);
}
return output;
}

http://blog.csdn.net/infoworld/article/details/37692701
------解决方案--------------------
首先要清楚文件里, 储存的数据的类型,是int,long,long long 还是 float,double
其次文件有无字节序(大小端)问题
这两个问题解决了
直接按照数据类型定义一个定长数据,或者数组一次性读入,或者分批读入全部文件。
需要的话,读取以后,先转换一下字节顺序
fopen,二进制读方式,打开文件,fread 读取文件,fclose 关闭文件

然后 转换成十进制 ACII格式的数据,输出到文本文件中去。
 fopen,文本写方式,打开文件,fprintf 写入文件,fclose 关闭文件。

基本上就可以了

具体可以了解一下 fopen,fread,fwrie,fclose , fprintf ,fscanf  
这些C流式文件读写,打开,关闭函数

这些都是C标准库的函数,使用的时候
 #include <stdio.h> 
就可以了
C++ 可以用C++流 std::fstream ,std::ifstream,std::ofstream 做同样的事情。
使用的时候
#include <fstream>