Spec-Zone.ru › C++

std::wcsncpy

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

Копирует не более count символов широкой строки, на которую указывает src (включая завершающий нулевой широкий символ), в массив широких символов, на который указывает dest.

Если count достигается до копирования всей строки src, результирующий массив широких символов не завершается нулевым символом.

Если после копирования завершающего нулевого широкого символа из src значение count ещё не достигнуто, в dest записываются дополнительные нулевые широкие символы, пока общее число записанных символов не достигнет count.

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

Параметры

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

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

dest

Примечания

В типичном случае count — это размер массива назначения.

Пример

#include <cwchar>
#include <iostream>

int main()
{
    const wchar_t src[] = L"hi";
    wchar_t dest[6] = {L'a', L'b', L'c', L'd', L'e', L'f'};

    std::wcsncpy(dest, src, 5); // this will copy 'hi' and repeat \0 three times

    std::wcout << "The contents of dest are: ";
    for (const wchar_t c : dest)
    {
        if (c)
            std::wcout << c << ' ';
        else
            std::wcout << "\\0" << ' ';
    }
    std::wcout << '\n';
}

Вывод:

The contents of dest are: h i \0 \0 \0 f

См. также

wcscpy
копирует одну широкую строку в другую
(функция)
wmemcpy
копирует заданное количество широких символов между двумя неперекрывающимися массивами
(функция)
strncpy
копирует заданное количество символов из одной строки в другую
(функция)
Документация C для wcsncpy

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

Spec-Zone.ru

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