-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathFile Handling6.c
More file actions
32 lines (30 loc) · 884 Bytes
/
File Handling6.c
File metadata and controls
32 lines (30 loc) · 884 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h>
#define CNTL_Z '\032' /* eof marker in DOS text files */
#define SLEN 81// w w w .d e m o 2 s . co m
int main(void)
{
char file[SLEN];
char ch;
FILE *fp;
long count, last;
puts("Enter the name of the file to be processed:");
scanf("%80s", file);
if ((fp = fopen(file,"rb")) == NULL)
{ /* read-only mode */
printf("reverse can't open %s\n", file);
exit(EXIT_FAILURE);
}
fseek(fp, 0L, SEEK_END); /* go to end of file */
last = ftell(fp);
for (count = 1L; count <= last; count++)
{
fseek(fp, -count, SEEK_END); /* go backward */
ch = getc(fp);
if (ch != CNTL_Z && ch != '\r') /* MS-DOS files */
putchar(ch);
}
putchar('\n');
fclose(fp);
return 0;
}