在C++中處理非ASCII字符通常需要使用寬字符(wchar_t)或多字節(jié)字符(mbstowcs)來表示和處理。以下是一些處理非ASCII字符的常用方法:
#include <iostream>
#include <string>
int main() {
std::wstring str = L"你好,世界!";
std::wcout << str << std::endl;
return 0;
}
#include <iostream>
int main() {
wchar_t str[] = L"你好,世界!";
std::wcout << str << std::endl;
return 0;
}
#include <iostream>
#include <cstring>
int main() {
const char* mbstr = "你好,世界!";
wchar_t wcstr[100];
mbstowcs(wcstr, mbstr, strlen(mbstr)+1);
std::wcout << wcstr << std::endl;
wchar_t wstr[] = L"你好,世界!";
char mbstr[100];
wcstombs(mbstr, wstr, wcslen(wstr)+1);
std::cout << mbstr << std::endl;
return 0;
}
需要注意的是,在處理非ASCII字符時(shí),需要確保使用正確的字符編碼和正確的函數(shù)來進(jìn)行字符轉(zhuǎn)換,以避免出現(xiàn)亂碼或編碼錯(cuò)誤的情況。