Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: mapers en 8 Marzo 2011, 06:21 AM

Título: ignorar espacios en blanco
Publicado por: mapers en 8 Marzo 2011, 06:21 AM
señores del foro cuando intento capturar una cadena a veces se me sañtan algunas instrucciones ................es por lo s espacios en blanco existe alguna funcion que los ignore..............a ver  algo asi creo que es cin.ignore
Título: Re: ignorar espacios en blanco
Publicado por: Akai en 8 Marzo 2011, 21:04 PM
C o C++?

http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html
Título: Re: ignorar espacios en blanco
Publicado por: Shell Root en 8 Marzo 2011, 21:07 PM
C++
Código (cpp) [Seleccionar]
std::remove(astring.begin(), astring.end(), ' ');

C
char *trim(char *str){
  char ptr[strlen(str)+1];
  int i, j=0;
  for(i=0; str[i]!='\0'; i++){
    if (str[i] != ' ' && str[i] != '\t')
      ptr[j++] = str[i];
  }
  ptr[j] = '\0'
  str = ptr;
}
Título: Re: ignorar espacios en blanco
Publicado por: Akai en 8 Marzo 2011, 21:19 PM
Shell Root, me parece que se refiere más a cuando lee de consola,creo.

en caso de que sea lo que yo comenté:

Código (cpp) [Seleccionar]

cin.getline(cadena,tamaño-1,'\n')

de esa forma, lees la linea entera, teniendo como separador de linea el salto de linea, tragándote el espacio.


scanf("%s \n",cadena);


Si no me he equivocado en algo de la sintaxis, en principio la idea debería ser esa.