wcscat, wcscat_s
From cppreference.net
|
Определено в заголовочном файле
<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
. Результирующая широкая строка завершается нулевым символом. Поведение не определено, если целевой массив недостаточно велик для содержимого как
str
, так и
dest
и завершающего нулевого широкого символа. Поведение не определено, если строки перекрываются.
2)
Аналогично
(1)
, за исключением того, что она может заполнить остаток массива назначения (начиная с последнего записанного символа до
destsz
) неопределёнными значениями, а также следующие ошибки обнаруживаются во время выполнения и вызывают текущую установленную
функцию обработки ограничений
:
-
-
srcилиdestявляется нулевым указателем -
destszравен нулю или превышает RSIZE_MAX / sizeof ( wchar_t ) -
отсутствует нулевой терминатор в первых
destszшироких символахdest -
произойдёт усечение (доступного пространства в конце
destнедостаточно для размещения всех широких символов, включая нулевой терминатор, изsrc) - возникнет перекрытие между исходной и целевой строками
-
-
Как и все функции с проверкой границ,
wcscat_sгарантированно доступна только если __STDC_LIB_EXT1__ определён реализацией и если пользователь определяет __STDC_WANT_LIB_EXT1__ как целочисленную константу 1 перед включением <wchar.h> .
Содержание |
Параметры
| dest | - | указатель на широкую строку с нулевым завершителем, к которой выполняется добавление |
| src | - | указатель на широкую строку с нулевым завершителем, из которой выполняется копирование |
| destsz | - | максимальное количество символов для записи, обычно размер буфера назначения |
Возвращаемое значение
1)
возвращает копию
dest
2)
возвращает ноль при успехе, возвращает ненулевое значение при ошибке. Также при ошибке записывает
L
'
\0
'
в
dest
[
0
]
(если только
dest
не является нулевым указателем или
destsz
не равен нулю или не больше
RSIZE_MAX
/
sizeof
(
wchar_t
)
).
Пример
Запустить этот код
Вывод:
Земля, прощай. В добрый путь.
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.29.4.3.1 Функция wcscat (стр. 315)
-
- K.3.9.2.2.1 Функция wcscat_s (стр. 466)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.29.4.3.1 Функция wcscat (стр. 432)
-
- K.3.9.2.2.1 Функция wcscat_s (стр. 642-643)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.24.4.3.1 Функция wcscat (стр: 378)
Смотрите также
|
(C95)
(C11)
|
добавляет определённое количество широких символов из одной широкой строки в другую
(функция) |
|
(C11)
|
объединяет две строки
(функция) |
|
(C95)
(C11)
|
копирует одну широкую строку в другую
(функция) |
|
Документация C++
для
wcscat
|
|