Пространства имён
Варианты
Действия

std::wcsncpy

Материал из cppreference.com
< cpp‎ | string‎ | wide
 
 
 
 
Определено в заголовочном файле <cwchar>
wchar_t*wcsncpy(wchar_t*dest, constwchar_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(){constwchar_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);// это скопирует 'hi' и повторит \0 три раза   std::cout<<"Содержимое dest: ";for(constwchar_t c : dest){if(c)std::wcout<< c <<' ';elsestd::wcout<<"\\0"<<' ';}std::wcout<<'\n';}

Вывод:

Содержимое dest: h i \0 \0 \0 f

[править]Смотрите также

копирует одну широкую строку в другую
(функция)[править]
копирует определённое количество широких символов между двумя неперекрывающимися массивами
(функция)[править]
копирует определённое количество символов из одной строки в другую
(функция)[править]
close