strcpy — функція стандартної бібліотеки мови програмування Сі для копіювання нуль-термінованого рядка (включаючи нуль-термінатор) у заданий буфер.

Прототип функції Прототип, описаний у заголовному файлі string.h :char *strcpy (char * destination, const char * source);

destination – вказівник на буфер призначення. source - вказівник на вихідний рядок.

Значення, що повертається Функція повертає значення destination.

Приклад використання #include <string.h> /* для strcpy() */ #include <stdio.h> /* для printf() */

int main() { char *str = "string example"; // деякий приклад рядка char buf = ""; // буфер розміром більше ніж рядок str, спочатку містить порожній рядок

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"

Безпека Оскільки функція не перевіряє довжину рядка та розмір буфера, вона не повинна використовуватися для роботи з даними, розмір яких невідомий, щоб уникнути переповнення буфера destination.

Замість strcpy рекомендується використовувати стандартну функцію strncpy ( додаючи нуль-термінатор при необхідності! ) або функції strlcpy або strncpy_s, що не входять до стандарту

Посилання

strcpy(1) — Мануал функції strcpy на сайті OpenBSD C++ reference: cstring: strcpy — Опис strcpy з прикладом.