strcpy — функція стандартної бібліотеки мови програмування Сі для копіювання нуль-термінованого рядка (включаючи нуль-термінатор) у заданий буфер.
Прототип функції
Прототип, описаний у заголовному файлі string.h
:
char *strcpy (char * destination, const char * source);
Значення, що повертається
Функція повертає значення destination
.
Приклад використання
#include <string.h> /* для strcpy() */ #include <stdio.h> /* для printf() */ int main() { char *str = "string example"; // деякий приклад рядка char buf[32] = ""; // буфер розміром більше ніж рядок 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 з прикладом.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
strcpy funkciya standartnoyi biblioteki movi programuvannya Si dlya kopiyuvannya nul terminovanogo ryadka vklyuchayuchi nul terminator u zadanij bufer Prototip funkciyiPrototip opisanij u zagolovnomu fajli string h char strcpy char destination const char source destination vkazivnik na bufer priznachennya source vkazivnik na vihidnij ryadok Znachennya sho povertayetsyaFunkciya povertaye znachennya destination Priklad vikoristannya include lt string h gt dlya strcpy include lt stdio h gt dlya printf int main char str string example deyakij priklad ryadka char buf 32 bufer rozmirom bilshe nizh ryadok str spochatku mistit porozhnij ryadok printf string s n str printf buffer before copying s n buf strcpy buf str printf buffer after copying s n buf return 0 Rezultat roboti kodu string string example buffer before copying buffer after copying string example BezpekaOskilki funkciya ne pereviryaye dovzhinu ryadka ta rozmir bufera vona ne povinna vikoristovuvatisya dlya roboti z danimi rozmir yakih nevidomij shob uniknuti perepovnennya bufera destination Zamist strcpy rekomenduyetsya vikoristovuvati standartnu funkciyu strncpy dodayuchi nul terminator pri neobhidnosti abo funkciyi strlcpy abo strncpy s sho ne vhodyat do standartuPosilannyastrcpy 1 angl Manual funkciyi strcpy na sajti OpenBSD C reference cstring strcpy angl Opis strcpy z prikladom