VC++中char和TCHAR之间转换
2018-06-17 23:58:06来源:未知 阅读 ()
char:计算机编程语言(c、c++、java等)中可容纳单个字符的一种基本数据类型。
TCHAR:为了满足Unicode编码,对char的扩展,即_T(“str”)表示TCHAR类型
C++支持两种字符串,即常规的ANSI编码(使用""包裹)和Unicode编码(使用L""包裹),这样对应的就有了两套字符串字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串char和TCHAR类型
winnt.h头文件中:
typedef WCHAR TCHAR, *PTCHAR;
表明 TCHAR 与 WCHAR 属同一类型
char szA[100]; // ANSI string buffer WCHAR szW[100]; // Unicode string buffer // Normal sprintf: all strings are ANSI sprintf(szA, "%s","ANSI Str"); // Converts Unicode string to ANSI sprintf(szA,"%S",L"Unicode Str"); // Normal swprintf: all strings are Unicode swprintf(szW,L"%s",L"Unicode Str"); // Converts ANSI string to Unicode swprintf(szW,L"%S", "ANSI Str");
注意:大写S 和小写s 的使用
===========================
应用实例:通过system函数程序调用启动msc程序
void WSUS::OnBnClickedOk() { CString strPath = NULL; // 申请路径字符串(TCHAR) char strChar[256]; // 申请路径字符串(char) m_CustomEdit.GetWindowTextW(strPath); // 获取路径存储到strPath strPath.Replace(_T("\\"), _T("\\\\")); // 替换strPath中"\"为"\\",注意转换符 //sprintf(strChar, "%s %S", "mmc.exe", strPath); // TCHAR转换char类型 sprintf(strChar, "mmc.exe \"%S\"", strPath); // TCHAR转换char类型 MessageBox(strPath, _T("title")); system(strChar); // 系统函数调用启动msc程序 //WinExec((LPCSTR)_bstr_t(strPath), SW_SHOW); // 调用exe程序 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Visual Studio 2019提示不能将const char*类型的值分配到con 2020-06-07
- Qt配置,载入html,Echart, 交互 2020-05-18
- 模板大全 2020-04-30
- 【做题笔记】P2871 [USACO07DEC]手链Charm Bracelet 2020-02-14
- QString转char * 2019-12-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash