<div dir="ltr">Hola Rabab,<div class="gmail_extra"><br><div class="gmail_quote">2015-04-06 3:06 GMT-04:00 Rabab <span dir="ltr"><<a href="mailto:Rababiqueem@gmail.com" target="_blank">Rababiqueem@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Buenos días,<br>
tengo una duda con un programa que estoy intentando ejecutar.<br>
En primer lugar el programa me pide que introduzca unos datos, que guardo en el vector char word [BUFSIZ]; a continuación hago una función que me diga cual es la longitud de éste vector, no obstante si pongo algún espacio en blanco solamente me lee la primera parte.. por ejemplo: 1234 653; pues el programa me dice que hay 4 dígitos en vez de decirme que hay 7 y utilizo isspace() para que lea los espacios en blanco pero no entiendo por qué no hay manera de que los lea.<br>
<br></blockquote><div><br></div><div>Esto depende de la forma en que leas los caracteres. Sospecho que has usado 'cin <<' por lo que se detiene al encontrarse con espacios en blanco. La función 'isspace()' no sirve para leer los espacios en blanco, sino para comprobar si un carácter es un espacio en blanco. Si lees caracteres uno a uno, usando 'cin.get()' por ejemplo, entonces si puedes comprobar si tal carácter es un espacio en blanco y luego comprobar si es el fin de línea, '\n'.</div><div><br></div><div>La solución más sencilla es usar 'getline()'; por ejemplo,</div><div><br></div><div>cin.getline( word, BUFSIZ );</div><div><br></div><div>Leerá todos los caracteres hasta llegar al final o hasta uno menos que la cantidad máxima y los extraerá guardándolos en 'word' acompañados siempre del carácter nulo al final del array.</div><div><br></div><div><br></div><div>Espero que esto te ayude.</div><div><br></div><div>Steven</div><div><br></div></div></div></div>