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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  quitar espacios en cadena ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: quitar espacios en cadena ?  (Leído 27,465 veces)
Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
quitar espacios en cadena ?
« en: 26 Julio 2010, 20:01 pm »

tengo una duda :P
como puedo quitar el caracter ' ' de una cadena , suponiendo que la cadena la tome con gets(cadena);

digamos que a "hola como estas"
deberia quedarme como "holacomoestas"

alguna sugerencia :/ ?
yo no entiendo como hacerlo :/
gracias
saludos

pd: ahh en C , no en c++ ;P



En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: quitar espacios en cadena ?
« Respuesta #1 en: 26 Julio 2010, 20:04 pm »

En C++ hay una funcion o manipulador que lo hace  :xD En C, bueno dicen que los caminos son infinitos, pero lo mas seguro es que necesites memoria dinamica y cadenas auxiliares...

Saludos


En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: quitar espacios en cadena ?
« Respuesta #2 en: 26 Julio 2010, 20:06 pm »

:xD

o aunque sea como detectar un espacio , seria mas facil creeria
" " = \0 ? ni hay no ' el \0 es nulo , pero no espacio no ?
toy flasheando cualquiera me parece XDDD
En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: quitar espacios en cadena ?
« Respuesta #3 en: 26 Julio 2010, 20:11 pm »

Pes...
Código
  1. if (cadena[i]==' ') savetheposition;

Guardas la posicion para que sepas hasta adonde te interesa la cadena... O tambien quizas puedas usar strtok()... Pon el code  :xD

Saludos...
En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: quitar espacios en cadena ?
« Respuesta #4 en: 26 Julio 2010, 20:13 pm »

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(void)
  4. {
  5.    char *cadena = "Hola mundo!";
  6.    if(strchr(cadena, ' '))
  7.    puts("Si");
  8.    else
  9.    puts("No");
  10.    return 0;
  11. }
  12.  

Código
  1. #include <stdio.h>
  2. void squeeze(char s[], char c)
  3. {
  4. unsigned int i, j;
  5. for(i = j = 0; s[i] != '\0'; i++)
  6. if(s[i] != c)
  7. s[j++] = s[i];
  8. s[j] = '\0';
  9. }
  10. int main(void)
  11. {
  12.    char cadena[] = "Hola mundo";
  13.    squeeze(cadena, ' ');
  14.    puts(cadena);
  15.    return 0;
  16. }
  17.  

Es strchr() no strchar().
« Última modificación: 26 Julio 2010, 20:17 pm por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: quitar espacios en cadena ?
« Respuesta #5 en: 26 Julio 2010, 20:15 pm »

Pero strchar() es para decir si hay o no hay dicho caracter, mas no cuantos... si no me equivoco, yo de c no c  :xD

Saludos...
En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: quitar espacios en cadena ?
« Respuesta #6 en: 26 Julio 2010, 20:16 pm »

gracias ;­D
strchar seguramente esta en string.h no '
weno ire a averiguar a seguir leyendo ;P
gracias ^^
En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: quitar espacios en cadena ?
« Respuesta #7 en: 26 Julio 2010, 20:24 pm »

Es como dice Leo strchr()...

Y esa solucion que te dieron ta muy wena  :xD

Saludos...
En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



cbug

Desconectado Desconectado

Mensajes: 147



Ver Perfil
Re: quitar espacios en cadena ?
« Respuesta #8 en: 26 Julio 2010, 21:01 pm »

Esta es mi solución, pero sin modificar la cadena original, sino colocándola en una nueva.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6. int main()
  7. {
  8. char s[] = "HOLA COMO ESTAS ?                 BIEN Y TU";
  9.  
  10. char *tmp, *aux;
  11.  
  12. aux = malloc(strlen(s));
  13. tmp = malloc(strlen(s));
  14.  
  15. tmp = strtok(s, " ");
  16.  
  17. while(tmp != NULL)
  18. {
  19. strcat(aux, tmp);
  20. tmp = strtok(NULL, " ");
  21. }
  22.  
  23. free(tmp);
  24. puts(aux);
  25. free(aux);
  26.  
  27. return 0;
  28. }
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: quitar espacios en cadena ?
« Respuesta #9 en: 26 Julio 2010, 21:05 pm »

@cbug, no necesitas reservar espacio para "tmp".
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como adicionar espacios en una cadena de texto?
Programación Visual Basic
byway 8 4,904 Último mensaje 17 Noviembre 2011, 22:59 pm
por x64core
Problema al leer cadena con espacios?
Programación C/C++
1mpuls0 7 6,038 Último mensaje 2 Abril 2014, 18:42 pm
por amchacon
¿Cómo cortar una cadena string separado por espacios?
.NET (C#, VB.NET, ASP)
Meta 6 6,013 Último mensaje 4 Diciembre 2015, 06:51 am
por Meta
Quitar espacios de un cadena de caracteres
Programación C/C++
Dato Vagabundo 1 2,384 Último mensaje 12 Enero 2017, 16:07 pm
por ivancea96
Cadena string (Direccion con espacios error)
.NET (C#, VB.NET, ASP)
rigorvzla 6 4,528 Último mensaje 28 Diciembre 2017, 15:53 pm
por rigorvzla
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines