std::wcsncpy
Материал из cppreference.com
Определено в заголовочном файле <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
[править]Смотрите также
копирует одну широкую строку в другую (функция) | |
копирует определённое количество широких символов между двумя неперекрывающимися массивами (функция) | |
копирует определённое количество символов из одной строки в другую (функция) | |
Документация C по wcsncpy |