Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/08/2014, 23:29
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años, 6 meses
Puntos: 49
Respuesta: Duda sencilla de cadena con punteros en C

Cita:
Iniciado por Lauri23 Ver Mensaje
.............................
Tengo q hacer una funcion q te quite los espacios de la cadena.
El programa me da error cuando la cadena se encuentra con un espacio...

q hago??
Reservar memoria para la cadena original en la función main, algo como:

Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. void CopiaCadena ( char *str1 ) ;
  4.  
  5. int main( ) {
  6.   char *str1 ;
  7.   str1 =  malloc ( 100 * sizeof ( char ) ) ;
  8.   if ( str1 == NULL ) {
  9.     printf ( "Error de memoria" ) ;
  10.     return 1 ;
  11.   }
  12.   printf ("Introduce una frase: ");
  13.   fgets ( str1 , 100, stdin ) ;
  14.   CopiaCadena ( str1 ) ;
  15.   printf( " Copia : %s\n" , str1 );
  16.   return 0 ;
  17. }
  18.  
  19. void CopiaCadena ( char *s ) {
  20.   while (*s != '\0') {
  21.     if (*s == ' ')
  22.    *s = *( s + 1 ) ;
  23.     s++ ;
  24.   }
  25.   *s = '\0' ;
  26. }

¡¡¡Saluditos!!!