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
C o C++?
http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html
C++
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;
}
Shell Root, me parece que se refiere más a cuando lee de consola,creo.
en caso de que sea lo que yo comenté:
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.