Leer un archivo txt

On domingo, 21 de noviembre de 2010 0 comentarios

Leer un archivo txt

Ahora la ayuda sera a como podemos leer un archivo txt.

Inicialmente, debemos de leer un archivo de text pero en el cual especificamos los caracteres a leer:

Para ellos utilizaremos la funciones siguiente:

fopen
fread
fclose

Lo que hacemos en este caso es tener un texto en el cual hemos escrito cualquier cosa, es decir, caracteres los cuales los leeremos a continuacion, consideramos leer las 10 primeros caractres lo que se considera como un espacio tambien:

Código PHP:
#include 
int main()
{
   
FILE *fichero
   
char nombre[10] = "Texto.txt";
   
char leer[10];
   
int i;

   
fichero fopennombre"r" );
   
printf"Fichero: %s -> "nombre );
   
   if( 
fichero )
      
printf"ABIERTO\n" );
   else
   {
      
printf"NO ABIERTO\n" );
      return 
1;
   }
   
   
freadleersizeof(char), 10fichero );

   for( 
i=0i<10i++ )
     
printf"%c"leer[i] );

   if( !
fclose(fichero) )
      
printf"\nFichero cerrado\n" );
   else
   {
      
printf"\nError: fichero NO CERRADO\n" );
      return 
1;
   }

   return 
0;








Ahora en el char leer, tenemos los 10 primeros letras o caracteres considerando el espacio y si queremos leer todo el contenido de un archivo y mostrarlo, debemos definir un char variable o un array dinamico, para este caso usamos las siguientes funciones:

fseek
ftell
rewind
malloc
free

Código PHP:
#include 

#define MAX 1000
int main()
{
    
char texto[MAX];
    
    
printf("Escribe el nombre del texto(txt): ");
    
scanf("%s",&texto);
      
    
FILE *fichero;

    
fichero fopentexto"r" );
    
    if( 
fichero )
      
printf"Se abrio el texto.\n" );
    else
    {
      
printf"No se pudo abrir.\n" );
      return 
1;
    }
    
    
char *buffer;
    
long lSize;
    
int i;
    
    
fseek (fichero SEEK_END);
    
lSize ftell (fichero);
    
rewind (fichero);

    
printf("\nTamano del fichero: %d",lSize);
    
printf("\n");
    
    
buffer = (char*) malloc (sizeof(char)*lSize);
    
    
fread (buffer,1,lSize,fichero);

    for( 
i=0i<lSizei++ )
     
printf"%c"buffer[i] );
     
    if( !
fclose(fichero) )
      
printf"\nTexto cerrado\n" );
    else
    {
      
printf"\nError: Texto NO CERRADO\n" );
      return 
1;
    }
    
    
free (buffer);

    return 
0;

0 comentarios:

Publicar un comentario