當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


C++ wcsncpy()用法及代碼示例

C++ 中的wcsncpy() 函數將指定數量的寬字符從源複製到目標。

wcsncpy() 函數在<cwchar> 頭文件中定義。

wcsncpy()原型

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

wcsncpy() 函數采用三個參數:dest , srccount。它將最大計數寬字符從 src 指向的寬字符串複製到 dest 指向的內存位置。

如果 count 小於 src 的長度,則將第一個 count 字符複製到 dest 並且它不是以空值結尾的。如果 count 大於 src 的長度,則將 src 中的所有寬字符複製到 dest 並添加額外的終止空寬字符,直到總共寫入 count 寬字符。

如果兩個寬字符串重疊,則行為未定義。

參數:

  • dest:指向內容複製到的寬字符數組的指針。
  • src:指向從中複製內容的寬字符數組的指針。
  • count:要複製的最大寬字符數。

返回:

  • wcsncpy() 函數返回 dest。

示例:wcsncpy() 函數如何工作?

#include <cwchar>
#include <clocale>
#include <iostream>
using namespace std;

int main()
{
	setlocale(LC_ALL, "en_US.utf8");
	
	wchar_t src[] = L"\u0166\u0113\u010b\u0127\u0149\u0151\u013c\u014c\u0123\u0194";
	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;
}

運行程序時,輸出將是:

Before copying, dest = Hello Hi
After copying, dest = Ŧēċħo Hi

相關用法


注:本文由純淨天空篩選整理自 C++ wcsncpy()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。