能力值:
( LV3,RANK:30 )
|
-
-
2 楼
你用十六进制工具打开ReadMe.txt,可以看到头3个字节是EF BB BF,说明这个txt是UTF-8编码的,你用SetDlgItemTextA输出自然乱码了,用记事本把txt另存为ASCII格式的就可以了
|
能力值:
( LV9,RANK:380 )
|
-
-
3 楼
_WriteFile proc _lpbuff:DWORD,lpfilepath:DWORD
invoke CreateFile,lpfilepath,GENERIC_WRITE or GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,\
0,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
mov @hFiledaka,eax
invoke SetFilePointer,@hFiledaka,0,NULL,FILE_END
invoke lstrlen,_lpbuff
mov @dwWritedaka,eax
invoke WriteFile,@hFiledaka,_lpbuff,@dwWritedaka,addr @dwWritebyte1,NULL
invoke CloseHandle,@hFiledaka
ret
_WriteFile endp
问题是,ReadMe.txt我是用上面这个函数创建的,怎么会成了UTF-8编码呢。
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
这个不是创建文件函数的问题,而是_lpbuff的问题,检查你的_lpbuff是哪来的,你试着输出_lpbuff的前3个字节看看,应该是EF BB BF,有这3个字节,写出来txt就是UTF-8编码
|
|
|