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

std::strncpy

Материал из cppreference.com
< cpp‎ | string‎ | byte

Определено в заголовочном файле <cstring>
char *strncpy( char *dest, const char *src, std::size_t count );
Копирует не более count символов С-строки, на которую указывает src (включая завершающий нулевой символ) в массив символов, на которую указывает dest.
Оригинал:
Copies at most count characters of the byte string pointed to by src (including the terminating null character) to character array pointed to by dest.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если счётчик символов count будет исчерпан до того, как вся src строка была скопирована, в результате целевая строка dest не будет завершёна нулевым символом!
Оригинал:
If count is reached before the entire string src was copied, the resulting character array is not null-terminated.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если после копирования завершающего нулевого символа из src, счётчик count не исчерпан, дополнительные нулевые символы записываются в dest до исчерпания count счётчика.
Оригинал:
If, after copying the terminating null character from src, count is not reached, additional null characters are written to dest until the total of count characters have been written.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если строки перекрываются, поведение не определено.
Оригинал:
If the strings overlap, the behavior is undefined.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

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

dest -
Указатель на массив символов для копирования
Оригинал:
pointer to the character array to copy to
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
src -
Указатель на строку байтов для копирования с
Оригинал:
pointer to the byte string to copy from
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
count -
Максимальное количество символов для копирования
Оригинал:
maximum number of characters to copy
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

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

dest

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

#include <iostream>
#include <cstring>
 
int main()
{
    const char* src = "hi";
    char dest[6] = {'a', 'b', 'c', 'd', 'e', 'f'};;
    std::strncpy(dest, src, 5);
 
    std::cout << "The contents of dest are: ";
    for (char c : dest) {
        if (c) {
            std::cout << c << ' ';
        } else {
            std::cout << "\\0" << ' ';
        }
    }
    std::cout << '\n';
}

Вывод:

The contents of dest are: h i \0 \0 \0 f

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

копирует одну строку в другую
Оригинал:
copies one string to another
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]
копия одного буфера в другой
Оригинал:
copies one buffer to another
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]
C documentation for strncpy