char 与 TCHAR之间转换

char:计算机编程语言(c、c++、java、VFP等)中可容纳单个字符的一种基本数据类型。

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 的使用

原文地址:https://www.cnblogs.com/lhlc-9-9/p/12366119.html