源代码: HANDLE hFile;
char IpBuffer[1];
IpBuffer[0]=101010;
DWORD dwWrites;
hFile=CreateFile("1.bin",GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
BOOL bRet = ::WriteFile(hFile,IpBuffer,strlen(IpBuffer),&dwWrites,NULL);
if (bRet)
{
MessageBox("WriteFile 写文件成功");
}
CloseHandle(hFile);
我是想将二进制'101010'写入文件 1.bin 写入后 1.bin 使用查看器十六进制查看时应该显示十六进制的‘2A’
可是程序执行后,使用查看器看到的确是'92CCCCCCE4' 。求教问题出在哪里,如何修改。
本人是菜鸟,请多关照!!!
char IpBuffer[1];
IpBuffer[0]=101010;
DWORD dwWrites;
hFile=CreateFile("1.bin",GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
BOOL bRet = ::WriteFile(hFile,IpBuffer,strlen(IpBuffer),&dwWrites,NULL);
if (bRet)
{
MessageBox("WriteFile 写文件成功");
}
CloseHandle(hFile);
我是想将二进制'101010'写入文件 1.bin 写入后 1.bin 使用查看器十六进制查看时应该显示十六进制的‘2A’
可是程序执行后,使用查看器看到的确是'92CCCCCCE4' 。求教问题出在哪里,如何修改。
本人是菜鸟,请多关照!!!
我改写为 WriteFile(hFile,IpBuffer,1,&dwWrites,NULL); 也不对啊,生成的文件查看时显示'92'啊?
请教了,我该使用什么赋值才对??? int 也不可以啊???
#include <iostream>
BOOL CMFCDlg::OnInitDialog()
{
CDialog::OnInitDialog(); std::string s("101010");
std::bitset<32> b(s); DWORD a = b.to_ulong()
HANDLE hFile;
DWORD dwWrites;
hFile=CreateFile("1.bin",GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
BOOL bRet = ::WriteFile(hFile,&a,sizeof(a),&dwWrites,NULL);
if (bRet)
{
MessageBox("WriteFile 写文件成功");
}
CloseHandle(hFile);