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 = fopen( nombre, "r" );
printf( "Fichero: %s -> ", nombre );
if( fichero )
printf( "ABIERTO\n" );
else
{
printf( "NO ABIERTO\n" );
return 1;
}
fread( leer, sizeof(char), 10, fichero );
for( i=0; i<10; i++ )
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
int main()
#define MAX 1000
{
char texto[MAX];
printf("Escribe el nombre del texto(txt): ");
scanf("%s",&texto);
FILE *fichero;
fichero = fopen( texto, "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 , 0 , 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=0; i<lSize; i++ )
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