Título: Obtener toda la línea con un enter Publicado por: JuszR en 31 Octubre 2010, 02:23 am Estoy haciendo un conversor de binario a decimal y tengo un problema. Para ingresar el número binario tengo que apretar cada dígito y depués enter (8 veces, o más).
¿Hay alguna manera para poder obtener toda la línea, escribiendo los 8 dígitos, y solo apretar una vez enter? Sería más fácil poner 00001111 [ENTER]; que 0[ENTER], 0[ENTER], 0[ENTER]... ;D Este es mi código: Código
Traté poniendo cin.getline(Numero, 8); pero me tira un error larguísimo. Título: Re: Obtener toda la línea con un enter Publicado por: do-while en 31 Octubre 2010, 06:04 am ¡Buenas!
Es tan facil como ir lyendo (con fgets) fragmentos y solapandolos. Tambien podrias utilizar un puntero a la informcion y asignacion dinamica de memoria... ¡Saludos! Título: Re: Obtener toda la línea con un enter Publicado por: JuszR en 31 Octubre 2010, 09:26 am fgets me suena a C, yo uso C++. :rolleyes:
Lo del puntero no se, todavía no llegué a eso. ;D Título: Re: Obtener toda la línea con un enter Publicado por: Horricreu en 31 Octubre 2010, 09:50 am La mayoría, por no decir todas, de las bibliotecas estándar de C, están adaptadas para C++ con todas sus respectivas funciones:
Código: http://www.cplusplus.com/reference/clibrary/cstdio/ Ahí encontrarás fgets() y, como bien he dicho las demás funciones que son de la librería cstdio. Título: Re: Obtener toda la línea con un enter Publicado por: Akai en 31 Octubre 2010, 10:54 am Tu problema está en que cin.getline recibe una cadena:
istream& getline (char* s, streamsize n ); istream& getline (char* s, streamsize n, char delim ); lee la cadena s hasta n caracteres o un \n en el primer caso lee la cadena s hasta n caracteres o el carácter 'delim' en el segundo caso. En ese caso, lo que puedes hacer es que tu "numero" se lea primero como una cadena, y luego pasarlo a entero para trabajar con él o bien trabajar con la cadena de carácteres y guardar el resultado de la conversión en un entero. Título: Re: Obtener toda la línea con un enter Publicado por: Khronos14 en 1 Noviembre 2010, 14:50 pm Si usas scanf, lo haces todo en una línea, personalmente prefiero printf y scanf al cout y cin ya que se pueden hacer más cosas...
Código
Saludos. Título: Re: Obtener toda la línea con un enter Publicado por: JuszR en 2 Noviembre 2010, 12:11 pm Gracias.
Título: Re: Obtener toda la línea con un enter Publicado por: piou en 2 Noviembre 2010, 16:30 pm Código
No entiendo eso %8[^\n] qué significa poner un número detrás del %, y los corchetes y el ^ antes de \n?? Título: Re: Obtener toda la línea con un enter Publicado por: Khronos14 en 2 Noviembre 2010, 17:18 pm Código
No entiendo eso %8[^\n] qué significa poner un número detrás del %, y los corchetes y el ^ antes de \n?? Significa leer por el teclado hasta que se pulse enter \n y como máximo 8 caracteres. Saludos. |