Curso de Programación en C/Prog114
Ir a la navegación
Ir a la búsqueda
Prog114
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 #define CNTL_Z '\032' /* eof marker in DOS text files */
6 #define SLEN 50
7
8 int main( void )
9 {
10 char file[SLEN],
11 ch;
12
13 FILE *fp;
14
15 long count,
16 last;
17
18 printf( "Escribe el nombre del archivo a usar: ");
19 fgets( file, SLEN - 2, stdin );
20
21 if( *(file + strlen( file ) -1 ) != '\n' )
22 {
23 printf( "El nombre que entraste es demasiado largo.\n"
24 "Solo %d chars MAX\n", SLEN - 2 );
25 exit(1);
26 }
27 else
28 *(file + strlen( file ) -1 ) = '\0';
29
30 if( ( fp = fopen( file, "rb" ) ) == NULL )
31 {
32 printf( "No puedo abrir el archivo %s\n", file );
33 exit( 1 );
34 }
35
36 fseek( fp, 0L, SEEK_END );
37 last = ftell( fp );
38
39 for( count = 1L; count <= last; count++ )
40 {
41 fseek( fp, -count, SEEK_END ); /* Leer en reversa SEEK_CUR SEEK_SET */
42 ch = getc( fp );
43 if( ch != CNTL_Z && ch != '\r' )
44 putchar( ch );
45 }
46
47 putchar( '\n' );
48 fclose( fp );
49
50 return 0;
51 }
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#