如何将文本文件存为十六进制文件?
文本文件内容如下 :
0x6B,0xEA,0x43,0xF6
。。。。。。。。。。。。。。。。。
如何将它转换成 6B EA 43 F6
...........................
不是单纯的去掉0x,就是说用记事本打开后其内容不再是6B EA 43 F6,而是一些乱码形式的
[解决办法]
FILE *fps,*fpd;
int c;
fps=fopen("source_file","r");
fpd=fopen("destin_file","wb");
for(;;)
{ if(fscanf(fps,"%x,",&c)!=1)break;
fwrite(&c,1,1,fpd);
}
[解决办法]
//---------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <fstream.h>
//---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ofstream f("d:\\aaa.txt",ios::binary|ios::out);
int a=0x6B,b=0xEA,c=0x43,d=0xF6;
f.write((char *) &a,sizeof(int));
f.write((char *) &b,sizeof(int));
f.write((char *) &c,sizeof(int));
f.write((char *) &d,sizeof(int));
ifstream ff("d:\\aaa.txt",ios::binary|ios::in);
int w,x,y,z;
ff.read((char *)&w,sizeof(int));
ff.read((char *)&x,sizeof(int));
ff.read((char *)&y,sizeof(int));
ff.read((char *)&z,sizeof(int));
ShowMessage(w);
}
//---------------------------------------