std::wcsncpy
Материал из cppreference.com
Определено в заголовочном файле <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); // это скопирует 'hi' и повторит \0 три раза std::cout << "Содержимое dest: "; for (const wchar_t c : dest) { if (c) std::wcout << c << ' '; else std::wcout << "\\0" << ' '; } std::wcout << '\n'; }
Вывод:
Содержимое dest: h i \0 \0 \0 f
[править] Смотрите также
копирует одну широкую строку в другую (функция) | |
копирует определённое количество широких символов между двумя неперекрывающимися массивами (функция) | |
копирует определённое количество символов из одной строки в другую (функция) | |
Документация C по wcsncpy
|