Скопировать часть строки
#include <string.h>char * strncpy( char *dst,const char *src,size_t n );
libc
Функция strncpy() копирует не более n символов из строки src, в массив dst.
Копирование перекрывающихся объектов не гарантирует правильную работу. Если необходимо скопировать перекрывающиеся объекты, см. функцию memmove(). |
Если строка src, короче, чем n символов, нулевые символы добавляются к копии в массиве dst, до тех пор, пока все n символов не будут записаны. Если строка src длиннее n символов, то результат не завершается нулевым символом.
Указатель dst.
#include <stdio.h>#include <stdlib.h>#include <string.h>int main( void ){char buffer[15];printf( "%s\n", strncpy( buffer, "abcdefg", 10 ) );printf( "%s\n", strncpy( buffer, "1234567", 6 ) );printf( "%s\n", strncpy( buffer, "abcdefg", 3 ) );printf( "%s\n", strncpy( buffer, "*******", 0 ) );return (EXIT_SUCCESS);}
Код генерирует следующий вывод:
$ ./a.out abcdefg 123456g abc456g
ANSI, POSIX 1003.1
memmove(), strcpy(), strdup(), strlcpy(), wcscpy(), wcsncpy(), wmemmove()
Предыдущий раздел: Описание API системной библиотеки