https://github.com/gongluck/Windows-Core-Program.gitc++
//第2章 字符和字符串處理.cpp: 定義應用程序的入口點。 // #include "stdafx.h" #include "第2章 字符和字符串處理.h" #include "StrSafe.h" int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { TCHAR str[] = TEXT("第2章 字符和字符串處理"); size_t len = _tcslen(str); TCHAR str2[5] = { 0 }; //errno_t eno = _tcscpy_s(str2, _countof(str2), str);//緩衝區太小程序會終止 PTCHAR pend = nullptr;//字符串結尾指針 size_t left = 0;//目標緩衝區剩餘(加上字符串結尾,因此>=1) //截斷拷貝 HRESULT hres = StringCchCatEx(str2, _countof(str2), str, &pend, &left, STRSAFE_FILL_BEHIND_NULL); //字符串(碼位)比較 //0-調用失敗, //CSTR_LESS_THAN 1 // string 1 less than string 2 //CSTR_EQUAL 2 // string 1 equal to string 2 //CSTR_GREATER_THAN 3 // string 1 greater than string 2 int ires = CompareStringOrdinal(str, _countof(str), str2, _countof(str2), FALSE); //字符串轉換 //https://github.com/gongluck/Tools/tree/master/TransCode char ansic[] = "第2章 字符和字符串處理"; int ilen = MultiByteToWideChar(CP_ACP, 0, ansic, -1, NULL, 0); wchar_t* unicode = new wchar_t[ilen]; MultiByteToWideChar(CP_ACP, 0, ansic, -1, unicode, ilen);//我以爲書中對最後一個參數的解釋錯了,應該是「字符數」。 delete[] unicode; system("pause"); return 0; }