Spec-Zone.ru › C++

std::wcsncat

Определено в заголовочном файле <cwchar>
wchar_t* wcsncat( wchar_t* dest, const wchar_t* src, std::size_t count );

Добавляет не более count широких символов из широкой строки, на которую указывает src, в конец строки, на которую указывает dest, останавливаясь, если копируется нулевой терминатор. Широкий символ src[0] заменяет нулевой терминатор в конце dest. Нулевой терминатор всегда добавляется в конце (поэтому максимальное количество широких символов, которые функция может записать, равно count + 1).

Поведение не определено, если массив назначения недостаточно велик для содержимого src и dest, а также завершающего нулевого широкого символа.

Поведение не определено, если строки перекрываются.

Параметры

dest - указатель на строку широких символов с нулевым терминатором, в конец которой нужно добавить символы
src - указатель на строку широких символов с нулевым терминатором, из которой нужно копировать символы
count - максимальное количество широких символов для копирования

Возвращаемое значение

dest

Пример

#include <clocale>
#include <cwchar> 
#include <iostream>
 
int main(void) 
{
    wchar_t str[50] = L"Земля, прощай.";
    std::wcsncat(str, L" ", 1);
    std::wcsncat(str, L"В добрый путь.", 8); // only append the first 8 wide chars

    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("en_US.utf8"));
    std::wcout << str << '\n';
}

Возможный вывод:

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

См. также

wcscat
добавляет копию одной широкой строки в конец другой
(функция)
strncat
объединяет заданное количество символов двух строк
(функция)
wcscpy
копирует одну широкую строку в другую
(функция)
Документация по C для wcsncat

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/wide/wcsncat

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API