std::strncpy
Материал из cppreference.com
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
Определено в заголовочном файле <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
|