C ++ setlocale () - Thư viện chuẩn C ++

Hàm setlocale () trong C ++ đặt thông tin ngôn ngữ cho chương trình hiện tại.

Hàm setlocale () được định nghĩa trong tệp tiêu đề.

nguyên mẫu setlocale ()

 int setlocale (int category, const char * locale);

Hàm setlocale được sử dụng để đặt ngôn ngữ hệ thống cụ thể cho danh mục nhất định. Hàm setlocale cũng có thể được sử dụng để truy vấn ngôn ngữ C hiện tại.

Điều này có thể được thực hiện bằng cách chuyển một con trỏ null thay cho ngôn ngữ.

Tham số setlocale ()

  • thể loại: Chỉ định thông tin ngôn ngữ của chương trình bị ảnh hưởng. Các macro có thể có cho danh mục là:
Macro danh mục cho setlocale ()
Macro Sự miêu tả
LC_ALL Chọn tất cả ngôn ngữ C
LC_COLLATE Lựa chọn danh mục đối chiếu
LC_CTYPE Chọn danh mục phân loại ký tự
LC_MONETARY Chọn danh mục định dạng tiền tệ
LC_NUMERIC Chọn danh mục định dạng số
LC_TIME Chọn danh mục định dạng thời gian
  • locale: Một định danh ngôn ngữ cụ thể của hệ thống. Nếu nó là một con trỏ null, một lệnh gọi setlocale () sẽ truy vấn ngôn ngữ C hiện tại.

setlocale () Giá trị trả về

  • Khi thành công, hàm setlocale () trả về một con trỏ đến chuỗi xác định ngôn ngữ C sau khi áp dụng các thay đổi.
  • Khi thất bại, nó trả về một con trỏ null.

Ví dụ: Hàm setlocale () hoạt động như thế nào?

 #include #include using namespace std; int main() ( char *str; setlocale(LC_ALL, "en_US.utf8"); str = setlocale(LC_ALL, NULL); cout << "Current locale: " << str << endl; cout << "Changing locale " << endl; setlocale(LC_ALL, "en_GB.utf8"); str = setlocale(LC_ALL, NULL); wcout << "Current locale: " << str << endl; return 0; )

Khi bạn chạy chương trình, đầu ra sẽ là:

 Ngôn ngữ hiện tại: en_US.utf8 Thay đổi ngôn ngữ Ngôn ngữ hiện tại: en_GB.utf8

thú vị bài viết...