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

Hàm wcsncpy () trong C ++ sao chép một số lượng ký tự rộng được chỉ định từ nguồn đến đích.

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

nguyên mẫu wcsncpy ()

 wchar_t * wcsncpy (wchar_t * dest, const wchar_t * src, size_t count);

Hàm wcsncpy () nhận ba đối số: dest, src và count. Nó sao chép tối đa số ký tự rộng đếm được từ chuỗi rộng được trỏ tới bởi src sang vị trí bộ nhớ được trỏ tới bởi hàm.

Nếu số lượng nhỏ hơn độ dài của src, các ký tự đếm đầu tiên sẽ được sao chép vào đích và nó không bị kết thúc bằng null. Nếu số lượng nhiều hơn độ dài của src, tất cả các ký tự rộng từ src được sao chép vào đích và các ký tự rộng rỗng kết thúc bổ sung được thêm vào cho đến khi tổng số ký tự rộng đếm được đã được viết.

Hành vi không được xác định nếu hai chuỗi rộng chồng lên nhau.

Tham số wcsncpy ()

  • đích: Con trỏ đến một mảng ký tự rộng nơi nội dung được sao chép vào.
  • src: Con trỏ đến một mảng ký tự rộng nơi nội dung được sao chép từ đó.
  • count: Số ký tự rộng tối đa để sao chép.

wcsncpy () Giá trị trả về

  • Hàm wcsncpy () trả về đích.

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

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t src() = L"u0166u0113u010bu0127u0149u0151u013cu014cu0123u0194"; wchar_t dest() = L"Hello Hi"; wcout << L"Before copying, dest = " << dest << endl; wcsncpy(dest, src, 4); wcout << L"After copying, dest = " << dest << endl; return 0; )

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

 Trước khi sao chép, dest = Xin chào Xin chào Sau khi sao chép, dest = Ŧēċħo Xin chào

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