LPSTR === char* LPCSTR === const char*
LPWSTR === wchar_t* LPCWSTR === const wchar_t*
LPTSTR === TCHAR* LPCTSTR === const TCHAR*
STD_OUTPUT_HANDLE 标准输出句柄
STD_INTPUT_HANDLE 标准输入句柄
STD_ERROR_HANDLE 标准错误句柄
windows 使用的是utf-16
linux 使用的是utf-8
wchar_t 每个字符占2个字节
char 每个字符占1个字节
// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#define UNICODE
#include <Windows.h>
#include <stdio.h>void w_char()
{const wchar_t* pszText = L"abcd";int len = wcslen(pszText);wprintf(L"%s %d \n", pszText, len);
}void T_char()
{const TCHAR* pszText = __TEXT("efg");#ifdef UNICODEwprintf(L"%s\n", pszText);
#elseprintf("%s\n", pszText);
#endif
}void PrintUnicode()
{const wchar_t* pszText = L"你好都是肯定就是肯德基客服解答开发机"; wprintf(L"%s\n", pszText);//对中文支持不是很好 输出???????????HANDLE Hout = GetStdHandle(STD_OUTPUT_HANDLE);WriteConsole(Hout, pszText, wcslen(pszText), NULL, NULL);//你好都是肯定就是肯德基客服解答开发机
}int main()
{const char *pszText = "dsdsd";printf("%s\n", pszText);int len = strlen(pszText);printf("%d\n", len);w_char();T_char();PrintUnicode();return 0;}// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件