C/Visual C - trabajar con ficheros

 
Vista:

trabajar con ficheros

Publicado por Jose Antonio (15 intervenciones) el 26/12/2002 21:09:57
Hola a todos, en Visual C++ 6.0 como puedo abrir un fichero de texto, leerlo caracter a caracter de tipo int y usar la funcion ungetc para que todo compile y funcione. Felices fiestas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:trabajar con ficheros

Publicado por Googol (255 intervenciones) el 26/12/2002 22:48:30
¿Cuantas veces quieres que se te conteste a esto?

#include "stdafx.h"
#include <stdio.h>

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
FILE *fich;
int leido;
fich = fopen("c:\\a.txt", "r");
if (fich == NULL)
return 1;
// Leemos 10 caracteres, por ejemplo
for (int c = 0; c < 10; c++) {
leido = getc(fich);
printf("Leído %d", leido);
}
// "Devolvemos" el último (retrasamos en uno el puntero del fichero)
ungetc(leido, fich);

// Lo volvemos a leer.
leido = getc(fich);
printf("Releído %d", leido);
getchar();

fclose(fich);
return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:trabajar con ficheros

Publicado por Jose Antonio (15 intervenciones) el 27/12/2002 01:26:23
Gracias y perdona es que soy novato con el visual c++ 6.0. Donde coloco lo que me has dicho antes. El visual c++ 6.0 es mu completo pero me esta volviendo loco. Gracias por todo.
P.D. He creado un proyecto nuevo y heredo de la clase Cedit y puedo editar ficheros, pero quiero manejar esos ficheros.
Gracias por todo.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:trabajar con ficheros

Publicado por Googol (255 intervenciones) el 27/12/2002 22:09:52
Mmm... no, no. Vamos a ver. Si creas un proyecto nuevo de aplicación Windows, tendrás que hacer, en principio, uso de las MFC. Lo del CEdit es una clase de las MFC (Microsoft Foundation Class si no recuerdo mal), que "simplifican" la programación bajo Windows, creando un armazón (framework) de clases que "abtraen" el API de Windows que de otro modo habría que programarlo en C.
Lo que tú preguntas del ungetc no es de las MFC, sino de la librería estándar de C. Con cada compilador de C vienen una serie de ficheros .h y librerías con funcionalidades útiles (como printf, acceso a ficheros, etc). Esas funciones están disponibles en, teóricamente, todos los compiladores de C, en contra de las MFC, que sólo sirven para la programación en Windows.
El ejemplo que te puse hay que meterlo en un programa DE CONSOLA hecho con Visual C (Win32 [Console] Application), para que no te utilice las MFC... pero con el que tampoco (al menos fácilmente) podrás crear ventanas y cosas así. Estarás creando un programa al "viejo estilo" (de MS-DOS, Unix) en el que no hay eventos.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:trabajar con ficheros

Publicado por Jose Antonio (15 intervenciones) el 28/12/2002 00:48:46
Gracias. Entonces en MFC no hay funciones de acceso a ficheros?, sabes cual son?, donde podria encontrar informacion? En el libro que poseo no me viene nada de eso . Gracias por todo y prospero año nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:trabajar con ficheros

Publicado por Googol (255 intervenciones) el 28/12/2002 13:40:01
Sí, sí las hay. En MFC existen las clases CFile y CArchive. Sinceramente, no las he utilizado nunca, y no sé la diferencia. Pero desde luego el "ungetc" por el que tú preguntabas no pertenece a ellas, sino a la librería de C.
Sobre las MFC puedes encontrar información en el MSDN de Microsoft, donde viene un montón de información para desarrolladores (API de Windows, MFC, Direct X...). Si no tienes los CDs, puedes consultarlo Online en la página de Microsoft (inglés).

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar