Để làm đồ án thì nhiều khi các bạn muốn có thêm Tiếng Việt để đồ án c++ của các bạn trở nên ấn tượng hơn, từ đó được điểm tốt hơn. Mình đã tìm kiếm rất kì công để ra được cái source code này, hy vọng là sẽ giúp ích được cái gì đó cho các bạn.
Đầu tiên các bạn cần chỉnh để cái console thành utf8:
Click chuột trái vào tên project > Configuration Properties > C/C++ > Command Line > Addition Option > Các bạn nhập vào /utf-8
Xuất kí tự tiếng việt bằng console:
#include<iostream>
#include<windows.h>
using namespace std;
int main() {
SetConsoleOutputCP(CP_UTF8);
SetConsoleCP(CP_UTF8);
wchar_t wstr[] = L"Nhập xuất kí tự Unicode";
int bufferSize = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[bufferSize + 1];
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, bufferSize, NULL, NULL);
str[bufferSize] = 0;
wcout << str;
}
Tới phần khó rồi đây
Nhập kí tự tiếng việt bằng console:
#include<iostream>
#include<windows.h>
using namespace std;
#define MAX_INPUT_SIZE 500
int main() {
SetConsoleOutputCP(CP_UTF8);
SetConsoleCP(CP_UTF8);
//phan doc
cout << "Moi nhap 1 chuoi tieng viet: ";
void* hConsoleInput = GetStdHandle(STD_INPUT_HANDLE);
wchar_t wstr[MAX_INPUT_SIZE];
unsigned long bufferSize;
ReadConsole(hConsoleInput, wstr, MAX_INPUT_SIZE, &bufferSize, NULL);
wstr[bufferSize] = 0;
//phan xuat
cout << "Chuoi tieng viet ban vua nhap la: ";
int size = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[size + 1];
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, size, NULL, NULL);
str[size] = 0;
wcout << str;
}
Thôi tạm biệt các bạn mình qua cày view cho sếp 1 tí. Chúc các bạn thành công, nhập xuất được chữ tiếng việt