Curso de Programación en C/Prog114
Ir a la navegación
Ir a la búsqueda
Prog114
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define CNTL_Z '\032' /* eof marker in DOS text files */
#define SLEN 50
int main( void )
{
char file[SLEN],
ch;
FILE *fp;
long count,
last;
printf( "Escribe el nombre del archivo a usar: ");
fgets( file, SLEN - 2, stdin );
if( *(file + strlen( file ) -1 ) != '\n' )
{
printf( "El nombre que entraste es demasiado largo.\n"
"Solo %d chars MAX\n", SLEN - 2 );
exit(1);
}
else
*(file + strlen( file ) -1 ) = '\0';
if( ( fp = fopen( file, "rb" ) ) == NULL )
{
printf( "No puedo abrir el archivo %s\n", file );
exit( 1 );
}
fseek( fp, 0L, SEEK_END );
last = ftell( fp );
for( count = 1L; count <= last; count++ )
{
fseek( fp, -count, SEEK_END ); /* Leer en reversa SEEK_CUR SEEK_SET */
ch = getc( fp );
if( ch != CNTL_Z && ch != '\r' )
putchar( ch );
}
putchar( '\n' );
fclose( fp );
return 0;
}
Resultado
[rrc@llawyr CClase]$ gcc -Wall -o Prog114 Prog114.c [rrc@llawyr CClase]$ ./Prog114 Escribe el nombre del archivo a usar: MiArchivo No puedo abrir el archivo MiArchivo [rrc@llawyr CClase]$ ./Prog114 Escribe el nombre del archivo a usar: Prog1.c } ;0 nruter ;)mun ,"n\.remirp le se le euqrop d% se otirovaf orem��n iM"(ftnirp ;)"n\.elpmis"(ftnirp /* noitcnuf )(ftnirp eht esu */ ;)" arodatupmoc anu yoS"(ftnirp /* mun a rolav anu rangisa */ ;1 = mun /* mun adamall elbairav anu rinifed */ ;mun tni { /* elpmis amargorp nU */ )diov(niam tni >h.oidts< edulcni#