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

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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если count будет достигнута до того, как весь src строки были скопированы, в результате массив символов не является нулем.
Оригинал:
If count is reached before the entire string src was copied, the resulting character array is not null-terminated.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если после копирования завершающий нулевой символ из 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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если строки перекрываются, поведение не определено.
Оригинал:
If the strings overlap, the behavior is undefined.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

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

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

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

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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

(функция) [edit]
C documentation for strncpy