Programación General > Visual C++
Leer Archivo
(1/1)
martinss:
Necesito un code para leer un archivo de texto..
el que tengo es asi:
FILE * pFile;
pFile=fopen ("hola.txt","r");
if (pFile != NULL)
SteelX:
Creo que en el forro hay bastante sobre eso. aqui un ejemplo de lo ultimo
http://foros.solocodigo.com/index.php?showtopic=24432
takopiskunov:
--- Código: Text --- FILE *archivo_lectura;char letra; archivo_lectura=fopen("texto.txt","r"); if(archivo_lectura!=NULL)//{ fscanf(archivo_lectura,"%c",&letra); //lectura adelantada while(!feof(archivo_lectura)) //bucle hasta fin de fichero { //procesamos el caracter leido anteriormente fscanf(archivo_lectura,"%c",&letra); //leemos un caracter del archivo y lo metemos en la variable "letra" } fclose(archivo_lectura);// cerramos el archivo }else{ //Mensaje de error al abrir el archivo }
Con el codigo anterior vas leyendo el archivo de texto de caracter en caracter. Si deseas leer como enteros , float,... solo debes cambiar los parametros de la lectura y el tipo de variable.
Espero que te sirva de algo.
Un saludo
diego.martinez:
tambien se puede hacer en windows usando el CreateFile
Handle Handle_del_File;
char * name;
Handle_del_File=CreateFile(name,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,0,OPEN_ALWAYS,0,NULL);
te devuelve un manipulador de fichero que luego usas para leerlo.
la ventaja es que abriendolo asi te permite abrirlo con otro programa a la vez, aunque , la verdad es que nunca lo he hecho :P
Para leerlo usas ReadFile (HANDLE file_handle, char * buffer, unsigned int NBytesALeer, & unsigned int NBytesLeidosConExito, (LPOVERLAPPED) NULL);
y para escribir mas de lo mismo
WriteFile(file , string , strlen(string), &n ,(LPOVERLAPPED)NULL);
Aun asi se puede usar el fopen de toda la vida , solo lo pongo como alternativa adicional.
Navegación
Ir a la versión completa