◐ Shell
clean mode source ↗

std::strncpy — cppreference.com

Материал из cppreference.com

<tbody> </tbody>

Определено в заголовочном файле <cstring>

char* strncpy( char* dest, const char* src, std::size_t count );

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

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

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

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

Параметры

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

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

dest

Пример

#include <cstring>
#include <iostream>

int main()
{
    const char* 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 << ' ';
        else
            std::cout << "\\0" << ' ';
    }
    std::cout << '\n';
}

Вывод:

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

Смотрите также