TCHAR和CHAR类型的互转

没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,创建工程的时候包含了UNICODE定义,就必须对TCHAR和char进行转换。

首先是把TCHAR转为char

1 void OpenFileName::TCHAR2Char(const TCHAR* tchar, char * _char)
2 {
3     int iLength;
4 
5     iLength = WideCharToMultiByte(CP_ACP, 0, tchar, -1, NULL, 0, NULL, NULL);
6     WideCharToMultiByte(CP_ACP, 0, tchar, -1, _char, iLength, NULL, NULL);
7 }

然后是把char转为TCHAR

1 void OpenFileName::Char2TCHAR(const char * _char, TCHAR * tchar)
2 {
3     int iLength;
4 
5     iLength = MultiByteToWideChar(CP_ACP, 0, _char, strlen(_char) + 1, NULL, 0);
6     MultiByteToWideChar(CP_ACP, 0, _char, strlen(_char) + 1, tchar, iLength);
7 }

 

posted @   鸭子船长  阅读(1366)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示