名稱空間
變體
操作

wcscat, wcscat_s

來自 cppreference.com
< c‎ | string‎ | wide
在標頭檔案 <wchar.h> 中定義
(1)
wchar_t *wcscat( wchar_t *dest, const wchar_t *src );
(自 C95 起)
(直到 C99)
wchar_t *wcscat( wchar_t *restrict dest, const wchar_t *restrict src );
(C99 起)
errno_t wcscat_s( wchar_t *restrict dest, rsize_t destsz,
                  const wchar_t *restrict src );
(2) (C11 起)
1)src 指向的寬字串的副本附加到 dest 指向的寬字串的末尾。寬字元 src[0] 替換 dest 末尾的空終止符。結果寬字串以空字元終止。如果目標陣列不夠大,無法容納 strdest 的內容以及終止空寬字元,則行為未定義。如果字串重疊,則行為未定義。
2)(1) 相同,除了它可能會用未指定的值破壞目標陣列的其餘部分(從寫入 destsz 的最後一個字元開始),並且以下錯誤在執行時檢測到並呼叫當前安裝的 約束處理程式 函式
  • `src` 或 `dest` 是空指標
  • destsz 為零或大於 RSIZE_MAX/sizeof(wchar_t)
  • dest 的前 destsz 個寬字元中沒有空終止符
  • 將發生截斷(dest 末尾的可用空間不足以容納 src 的每個寬字元,包括空終止符)
  • 源字串和目標字串之間會發生重疊
與所有邊界檢查函式一樣,只有當實現定義了 __STDC_LIB_EXT1__ 並且使用者在包含 <wchar.h> 之前將 __STDC_WANT_LIB_EXT1__ 定義為整數常量 1 時,才能保證 wcscat_s 可用。

目錄

[編輯] 引數

dest - 指向要追加的以空終止的寬字串的指標
src - 指向要從中複製的以空終止的寬字串的指標
destsz - 要寫入的最大字元數,通常是目標緩衝區的長度

[編輯] 返回值

1) 返回 `dest` 的副本
2) 成功時返回零,錯誤時返回非零。此外,在錯誤時,將 L'\0' 寫入 dest[0](除非 dest 是空指標或 destsz 為零或大於 RSIZE_MAX/sizeof(wchar_t))。

[編輯] 示例

#include <wchar.h> 
#include <stdio.h>
#include <locale.h>
 
int main(void) 
{
    wchar_t str[50] = L"Земля, прощай.";
    wcscat(str, L" ");
    wcscat(str, L"В добрый путь.");
    setlocale(LC_ALL, "en_US.utf8");
    printf("%ls", str);
}

輸出

Земля, прощай. В добрый путь.

[編輯] 參考

  • C17 標準 (ISO/IEC 9899:2018)
  • 7.29.4.3.1 wcscat 函式 (p: 315)
  • K.3.9.2.2.1 wcscat_s 函式 (p: 466)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.29.4.3.1 wcscat 函式 (p: 432)
  • K.3.9.2.2.1 wcscat_s 函式 (p: 642-643)
  • C99 標準 (ISO/IEC 9899:1999)
  • 7.24.4.3.1 wcscat 函式 (p: 378)

[編輯] 另請參閱

將一定數量的寬字元從一個寬字串附加到另一個寬字串
(函式) [編輯]
連線兩個字串
(函式) [編輯]
(C95)(C11)
將一個寬字串複製到另一個寬字串
(函式) [編輯]
C++ 文件 用於 wcscat