#include <string.h> char *strcpy(char *s1, const char *s2);
Esta función copia la ristra apuntada por s2 en s1. La ristra s1 debe tener suficiente capacidad para almacenar los caracteres de s2 incluyendo el marcador de final ristra. strcpy en ningún caso creará memoria para soportar la operación.
s1
ANSI, POSIX
En la función main se leen dos ristras y se realiza una copia de la segunda en la primera leída.
#include <stdio.h> #include <stdlib.h> #include <string.h> void quitaLF(char *s){ int l=strlen(s); if(l > 0 && s[l-1]=='\n') s[l-1]='\0'; } int main (){ const int MAX=1024; char r1[MAX], r2[MAX]; printf("Introduzca la primera ristra\n"); fgets(r1,MAX,stdin); quitaLF(r1); printf("Introduzca la segunda ristra\n"); fgets(r2,MAX,stdin); quitaLF(r2); printf("Antes de copiar. r1=\"%s\" r2=\"%s\"\n",r1,r2); strcpy(r1,r2); printf("Después de copiar. r1=\"%s\" r2=\"%s\"\n",r1,r2); return 0; }