求助十六进制数据写文件的问题
用unsigned char* data指向接收到的十六进制命令数据,比如AB CD 11 01 10,想保存在一个txt里文档里,直接写:
DWORD dwrite=0;
WriteFile(fHandle,data,len,&dwrite,NULL);
DWORD filesize=GetFileSize(fHandle,NULL);
char* buffer=new char[filesize+1];
DWORD readsize;
ReadFile(fHandle,buffer,filesize,&readsize,NULL);
buffer[filesize]=0;
unsigned char* data={0xAB,0xCD,0x11,0x01,0x10};
DWORD dwrite=0;
DWORD len=5;
WriteFile(fHandle,data,len,&dwrite,NULL);
CloseHandle(fHandle);
fHandle=CreateFile(...);
DWORD filesize=GetFileSize(fHandle,NULL);
char* buffer=new char[filesize];
DWORD readsize;
ReadFile(fHandle,buffer,filesize,&readsize,NULL);
char s[80];
s[0]=0;
for (int i=0;i<filesize;i++) sprintf(s,"%s%02X ",s,(unsigned char)buffer[i]);
printf("s=[%s]\n",s);
unsigned char* data={"AB CD 11 01 10"};
DWORD dwrite=0;
DWORD len=15;
WriteFile(fHandle,data,len,&dwrite,NULL);
CloseHandle(fHandle);
fHandle=CreateFile(...);
DWORD filesize=GetFileSize(fHandle,NULL);
char* buffer=new char[filesize];
DWORD readsize;
ReadFile(fHandle,buffer,filesize,&readsize,NULL);
printf("buffer=[%s]\n",buffer);
SetFilePointer( fHandle, 0, NULL, FILE_BEGIN);