Una pregunta
estoy empezando esto de programar y tengo un peque帽o problema, quiero introducir un nombre completo cuando esta corriendo el programa pero solo me toma los nombres sin espacios, puse las bibliotecas #include <iostream.h>, #include <string.h>,
y en la declaracion de variables la: char Nombre[100];, que estare haciendo mal o que me falta por poner??
gracias y saludos
y en la declaracion de variables la: char Nombre[100];, que estare haciendo mal o que me falta por poner??
gracias y saludos
Bueno, antes que nada, una peque帽a aclaraci贸n. Los archivos iostream.h y string.h, no son bibliotecas; son archivos que contienen declaraciones de estructuras, constantes y funciones usadas en las bibliotecas. A estos archivos se les conocen como archivos de cabecera (el sufijo .h viene de la palabra en ingl茅s "header" que significa cabecera) y son necesarios inclu铆rlos en tu programa fuente cuando vayas a hacer uso de algunas de las constantes, estructuras o funciones a los cuales se refieran estos archivos de cabecera. Los archivos de bibliotecas tiene la extensi贸n .lib y se ligan a tus programas cuando los compilas.
Ahora, con respecto a tu duda, para leer una cadena hay varias funciones de la biblioteca que puedes usar. No mencionaste cu谩l est谩s usando espec铆ficamente pero al mencionar el archivo de cabecera iostream.h me imagino que est谩s usando algo como esto
cin >> Nombre;
bueno, tal como est谩 puesto, esta instrucci贸n s贸lo te va a poner en la variable Nombre la primera palabra que teclees y lo dem谩s lo deja en un buffer interno para lecturas posteriores que se hagan. Lo mismo pasa con la instrucci贸n
sscanf ("%s", Nombre);
cuyo archivo de cabecera es stdio.h, y que realiza lo mismo que la primera instrucci贸n. Para que te lea todo lo que tecleas, hasta dar Enter (o Return o Intro) debes de usar la funci贸n
gets (Nombre);
Esta funci贸n lee todo lo que tecleas hasta que das Enter. El caracter 'n', que es el caracter que representa la tecla Enter, gets lo sustituye con un caracter nulo ' ' en la variable Nombre. Para usar esta funci贸n debes de incluir al principio en tu archivo fuente lo siguiente
#include <stdio.h>
estoy empezando esto de programar y tengo un peque帽o problema, quiero introducir un nombre completo cuando esta corriendo el programa pero solo me toma los nombres sin espacios, puse las bibliotecas #include <iostream.h>, #include <string.h>,
y en la declaracion de variables la: char Nombre[100];, que estare haciendo mal o que me falta por poner??
gracias y saludos
Ahora, con respecto a tu duda, para leer una cadena hay varias funciones de la biblioteca que puedes usar. No mencionaste cu谩l est谩s usando espec铆ficamente pero al mencionar el archivo de cabecera iostream.h me imagino que est谩s usando algo como esto
cin >> Nombre;
bueno, tal como est谩 puesto, esta instrucci贸n s贸lo te va a poner en la variable Nombre la primera palabra que teclees y lo dem谩s lo deja en un buffer interno para lecturas posteriores que se hagan. Lo mismo pasa con la instrucci贸n
sscanf ("%s", Nombre);
cuyo archivo de cabecera es stdio.h, y que realiza lo mismo que la primera instrucci贸n. Para que te lea todo lo que tecleas, hasta dar Enter (o Return o Intro) debes de usar la funci贸n
gets (Nombre);
Esta funci贸n lee todo lo que tecleas hasta que das Enter. El caracter 'n', que es el caracter que representa la tecla Enter, gets lo sustituye con un caracter nulo ' ' en la variable Nombre. Para usar esta funci贸n debes de incluir al principio en tu archivo fuente lo siguiente
#include <stdio.h>
estoy empezando esto de programar y tengo un peque帽o problema, quiero introducir un nombre completo cuando esta corriendo el programa pero solo me toma los nombres sin espacios, puse las bibliotecas #include <iostream.h>, #include <string.h>,
y en la declaracion de variables la: char Nombre[100];, que estare haciendo mal o que me falta por poner??
gracias y saludos
