程序如下:
TCHAR sw[3] = { 0 };
_stprintf(sw, TEXT("%02X"), w); //转为16进制的tchar
TCHAR sh[3] = { 0 };
_stprintf(sh, TEXT("%02X"), h);
TCHAR r15[2] = { 0 } ;
for(int i=0;i<2;i++)
{
r15[i] = sw[i];
}
WriteFile(hFile,"15,",strlen("15,") ,&Written,NULL);
WriteFile(hFile,r15,strlen(r15) ,&Written,NULL); //写入文件
写入hFile文件内容为:15,28烫1E0。
28是sw数组的前两位,可后面这个烫1E0是什么原因啊,求助?
另外我要去sw数组的前两位还有没有其他方法?
mfc的vc++ tchar数组问题
答案:1 悬赏:40 手机版
解决时间 2021-04-16 05:14
- 提问者网友:酱爆肉
- 2021-04-15 05:24
最佳答案
- 五星知识达人网友:旧脸谱
- 2021-04-15 06:57
既然你的r15定义的是TCHAR,那就不应该对它使用strlen,而应该使用_tcslen,或者使用lstrlen.
另外,如果你是用的是unicode编码,那么将ansi的内容和unicode内容写入同一个文本文件,同样会让显示该文件的程序无所适从。
另外,如果你是用的是unicode编码,那么将ansi的内容和unicode内容写入同一个文本文件,同样会让显示该文件的程序无所适从。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯