elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Función strcpy propia en lenguaje C. (copiar una cadena en otra)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Función strcpy propia en lenguaje C. (copiar una cadena en otra)  (Leído 5,779 veces)
NOB2014


Desconectado Desconectado

Mensajes: 366



Ver Perfil
Función strcpy propia en lenguaje C. (copiar una cadena en otra)
« 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. -

Código
  1. #include <stdio.h>
  2.  
  3. void d( char *c, char *a);
  4.  
  5. int main( void ){
  6. char a[] = "rosita", *b = "rosita", c[7];
  7.  
  8. printf("\n %s", a );
  9. printf("\n %s \n\n ", b );
  10.  
  11. a[0] = 'R';
  12. b = a;
  13.  
  14. printf("\n %s", a );
  15. printf("\n %s \n\n ", b );
  16.  
  17. d( c, a );
  18.  
  19. return 0;
  20. }
  21.  
  22.  
  23.  
  24. void d( char *c, char *a ){
  25. while( (*c++ = *a++) )
  26. ;
  27.  
  28. printf("\n %s\n", c );
  29. }
  30.  
Saludos.


En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
« Respuesta #1 en: 27 Diciembre 2016, 20:49 pm »

Citar
no 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



En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
« Respuesta #2 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.
En línea

NOB2014


Desconectado Desconectado

Mensajes: 366



Ver Perfil
Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
« Respuesta #3 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ódigo
  1. c -=7;

Saludos.
« Última modificación: 28 Diciembre 2016, 09:07 am por NOB2014 » En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
« Respuesta #4 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

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
NOB2014


Desconectado Desconectado

Mensajes: 366



Ver Perfil
Re: Función strcpy propia en lenguaje C. (copiar una cadena en otra)
« Respuesta #5 en: 27 Diciembre 2016, 22:07 pm »

Ahora si nos entendemos, correctísimo, me funciona todo a la perfección, muchas gracias. - ;-) ;-) ;-)

Un abrazo.
En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines