SoloCodigo
Programación General => C/C++ => Visual C++ => Mensaje iniciado por: fap1603 en Lunes 31 de Mayo de 2004, 18:26
-
Buenas A todos, estoy usando Visual C++, sucede que estoy haciendo un programa que lee un fichero de texto en el cual hay una frase con espacios, por ejemplo:
ESTA ES UNA PRUEBA DE LECTURA DE DATOS
utilizo fscan y redimenciono la variable de texto con calloc, por ejemplo:
texto=(char*)calloc((atribs-1) * 12,(atribs-1) * 12);
donde atribs = al numero de bytes + 1, por eso lo resto menos uno, 12 = al grupo de bytes para escribir en el fichero binario; pero cuando lo escribe en el binario me salen las palabras separadas por un espacio que es = al largo de la palabra + el resto de los bytes en espacios : ESTA .... en espacios, luego viene la siguiente palabra con las mismas caracteristicas. NO entiendo como debo hacer para que lea toda la frase y me la escriba en el fichero binario en una sola linea sin ese problema.
Muchas gracias por la respuesta.
-
Oo
Vaya que te esfuerzas en escribir preguntas claras... :rolleyes:
El "maravilloso" visual C++, en manos equivocadas capaz de convertir el más simple de los problemas en toda una pesadilla.... ¿Realmente creen que un programador novato podrá crear un programa eficiente en memória y cpu, sin contar con los bugs, sólo por usar el "visual C++"? El C++ no es para aprender programación, a menos que seas un sádico para enseñarlo a principiantes de programación. Pero el mundo está lleno de sádicos y masoquistas.
-
Hola!!!!!
Si queres leer una linea entera, usa fgets() q lee hasta un \n o un \r\n en UNIX (creo q era asi). Para recibir toda esa informacion, usa un char* y listo o un string de la STL. Luego, para separar palabras deberas tener en cuenta los espacios, los signos de puntuacion y demas.
Recorda q el \0 lo tendras al fin de la cadena y no a fin de cada palabra. Es por eso q tenes q parser la cadena levantada del archivo.
Salu2!!!!!!!