strcpy(3) Library Functions Manual strcpy(3) NAZWA strcpy, strcat - kopiuje lub laczy lancuch znakow BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include char *strcpy(char *restrict dst, const char *restrict src); char *strcat(char *restrict dst, const char *restrict src); OPIS strcpy() Funkcja kopiuje lancuch, na ktory wskazuje src, do lancucha w buforze, na ktory wskazuje dst. To programista jest odpowiedzialny za alokacje odpowiednio duzego bufora docelowego tj. strlen(src) + 1. Jest to rownoznaczne z stpcpy(dst, src), dst strcat() Funkcja dolacza lancuch, na ktory wskazuje src, po lancuchu, na ktory wskazuje dst (nadpisujac jego koncowy bajt null). To programista jest odpowiedzialny za alokacje odpowiednio duzego bufora docelowego, tj. strlen(dst) + strlen(src) + 1. Jest to rownoznaczne z stpcpy(strnul(dst), src), dst WARTOSC ZWRACANA Funkcje te zwracaja dst. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------------------+--------------------------+---------------+ |Interfejs | Atrybut | Wartosc | +---------------------------+--------------------------+---------------+ |strcpy(), strcat() | Bezpieczenstwo watkowe | MT-bezpieczne | +---------------------------+--------------------------+---------------+ STANDARDY C11, POSIX.1-2008. HISTORIA POSIX.1-2001, C89, SVr4, 4.3BSD. ZASTRZEZENIA Lancuchy src i dst nie moga na siebie nachodzic. Jesli bufor docelowy nie jest wystarczajaca duzy, zachowanie jest niezdefiniowane. Zob. opis _FORTIFY_SOURCE w podreczniku feature_test_macros(7). strcat() moze byc bardzo malo wydajny. Prosze zapoznac sie z historia o malarzu Shlemielu . PRZYKLADY #include #include #include #include int main(void) { char *buf1; size_t len, size; size = strlen("Witaj ") + strlen("swiecie") + strlen("!") + 1; buf1 = malloc(sizeof(*buf1) * size); if (buf1 == NULL) err(EXIT_FAILURE, "malloc()"); strcpy(buf1, "Witaj "); strcat(buf1, "swiecie"); strcat(buf1, "!"); len = strlen(buf1); printf("[len = %zu]: ", len); puts(buf1); // "Witaj swiecie!" free(buf1); exit(EXIT_SUCCESS); } ZOBACZ TAKZE stpcpy(3), strdup(3), string(3), wcscpy(3), string_copying(7) TLUMACZENIE Tlumaczenie niniejszej strony podrecznika: Jaroslaw Beczek , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.18 25 lutego 2026 r. strcpy(3)