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

std::strncpy

Материал из cppreference.com
< cpp‎ | string‎ | byte
 
 
 
Однобайтовые строки с завершающим нулём
Функции
Манипуляции с символами
Преобразование в числовые форматы
Манипуляции со строками
Проверка строки
Манипуляции с памятью
Разное
 
Определено в заголовочном файле <cstring>
char* strncpy(char* dest, constchar* src, std::size_t count );

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

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

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

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

Содержание

[править]Параметры

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

[править]Возвращаемое значение

dest

[править]Пример

#include <cstring>#include <iostream>   int main(){constchar* src ="hi";char dest[6]={'a', 'b', 'c', 'd', 'e', 'f'}; std::strncpy(dest, src, 5);   std::cout<<"Содержимое dest: ";for(char c : dest){if(c)std::cout<< c <<' ';elsestd::cout<<"\\0"<<' ';}std::cout<<'\n';}

Вывод:

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

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

копирует одну строку в другую
(функция)[править]
копирует один буфер в другой
(функция)[править]
close