Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: NOB2014 en 27 Diciembre 2016, 20:35 PM

Título: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
Publicado por: NOB2014 en 27 Diciembre 2016, 20:35 PM
Hola, gente ¿cómo están? ya los extrañaba. -
Estoy repasando punteros y me encuentro en el libro de los autores de C (creo que lo son) con esta función(d) que no logro hacer que de los resultados esperados, me podrían decir que estoy haciendo mal. -

#include <stdio.h>

void d( char *c, char *a);

int main( void ){
char a[] = "rosita", *b = "rosita", c[7];

printf("\n %s", a );
printf("\n %s \n\n ", b );

a[0] = 'R';
b = a;

printf("\n %s", a );
printf("\n %s \n\n ", b );

d( c, a );

return 0;
}



void d( char *c, char *a ){
while( (*c++ = *a++) )
;

printf("\n %s\n", c );
}

Saludos.
Título: Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
Publicado por: engel lex en 27 Diciembre 2016, 20:49 PM
Citarno logro hacer que de los resultados esperados

como decir algo sin decir nada...

lo ejecuto y según la poca información que das (la palabra strcpy, que dice más que todo el resto que escribiste) funciona bien

Título: Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
Publicado por: MAFUS en 27 Diciembre 2016, 21:41 PM
No te funciona porque cuando copias datos mueves los punteros y despues haces un printf sobre c, que está una posición más allá de la cadena copiada.
Título: Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
Publicado por: NOB2014 en 27 Diciembre 2016, 21:52 PM
MAFUS, estas en lo correcto, para no romperme tanto la cabeza, ¿me podrías decir como apuntar al primer carácter de c sin efectuar un nuevo bucle? -


EDITO: Con la siguiente linea lo consigo, desconozco si hay una manera mejor. -
c -=7;

Saludos.
Título: Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
Publicado por: engel lex en 27 Diciembre 2016, 21:58 PM
si no usas el printf dentro de la función sino dentro de main funciona bien...

teoricamente es como estaría destinado a ser

Título: Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
Publicado por: NOB2014 en 27 Diciembre 2016, 22:07 PM
Ahora si nos entendemos, correctísimo, me funciona todo a la perfección, muchas gracias. - ;-) ;-) ;-)

Un abrazo.