strcpy — функция стандартной библиотеки языка программирования Си для копирования нуль-терминированной строки (включая нуль-терминатор) в заданный буфер.
Прототип функции
Прототип, описанный в заголовочном файле string.h:
char *strcpy (char *dst, const char *src);
dst — указатель на буфер назначения. src — указатель на исходную строку.
Возвращаемое значение Функция возвращает значение dst.
Пример использования
#include <string.h> #include <stdio.h> /* для printf() */
int main() { char *str = "string example"; char buf; // буфер размером больше строки
buf = '\0'; // помечаем буфер как пустую строку, либо char buf = "";
printf("string: \"%s\"\n", str); printf("buffer before copying: \"%s\"\n", buf);
strcpy(buf, str);
printf("buffer after copying: \"%s\"\n", buf);
return 0; }
Вывод: string: "string example" buffer before copying: "" buffer after copying: "string example"
Безопасность Поскольку функция не проверяет длину строки и размер буфера, она не должна использоваться для работы с данными, размер которых неизвестен, во избежание переполнения буфера dst.
Вместо strcpy рекомендуется использовать стандартную функцию strncpy (добавляя нуль-терминатор при необходимости!) или не входящие в стандарт функции strlcpy или strncpy_s.
Ссылки strcpy(1) — Мануал функции strcpy на сайте OpenBSD C++ reference: cstring: strcpy — описание strcpy с примером. strcpy() — реализация функции strcpy.
Категория:String.h Категория:Небезопасные функции Си