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

[0] Índice de Mensajes

Ir a la versión completa