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

Hàm wcstombs () trong C ++ chuyển đổi một chuỗi ký tự rộng thành chuỗi nhiều byte tương đương.

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

nguyên mẫu wcstombs ()

 size_t wcstombs (char * dest, const wchar_t * src, size_t max);

Hàm wcstombs () nhận ba đối số và trả về một giá trị nguyên.

Hàm này chuyển đổi chuỗi ký tự rộng có phần tử đầu tiên được trỏ bởi src thành biểu diễn multibyte của nó.

Kết quả được lưu trữ tại vị trí bộ nhớ được trỏ tới bởi đích. Tham số max thể hiện số lượng ký tự rộng tối đa được chuyển đổi.

Cơ chế chuyển đổi giống như của wctomb, ngoại trừ trạng thái chuyển đổi wctomb không bị ảnh hưởng. Việc chuyển đổi sẽ dừng nếu:

  • Gặp phải một ký tự null, sau đó được chuyển đổi và lưu trữ.
  • Đã tìm thấy một wchar_t không tương ứng với một ký tự hợp lệ trong ngôn ngữ C hiện tại.
  • số ký tự rộng tối đa đã được chuyển đổi.

wcstombs () Tham số

  • dest: Con trỏ đến mảng ký tự nhiều byte kết quả.
  • src: Con trỏ đến phần tử đầu tiên của ký tự rộng được chuyển đổi thành ký tự nhiều byte.
  • max: Số ký tự rộng tối đa được chuyển đổi.

wcstombs () Giá trị trả về

  • Nếu chuyển đổi thành công, wcstombs () trả về số ký tự nhiều byte không bao gồm ký tự kết thúc (tức là ' 0') được ghi vào mảng đích.
  • Nếu bất kỳ lỗi nào xảy ra trong quá trình chuyển đổi, nó sẽ trả về -1.

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

 #include #include using namespace std; int main() ( wchar_t src() = L"Welcome To Programiz.com"; char dest(50); int num; num = wcstombs(dest, src, 50); cout << "Number of wide character converted = " << num << endl; cout << "Multibyte Character String = " << dest << endl; return 0; )

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

 Số ký tự rộng được chuyển đổi = 24 Chuỗi ký tự Multibyte = Chào mừng bạn đến với Programiz.com

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