#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static void rev_file(char * unsigned int);
int main(int argc char **argv)
{
char *ptr;
unsigned int size count 0;
FILE *fp;
if(argc < 2)
{
printf(" s <file>n" argv[0]);
return EXIT_FAILURE;
}
if(!(fp fopen(argv[1] "r")))
return EXIT_FAILURE;
fseek( fp 0L SEEK_END );
count ftell( fp ); rewind(fp);
if(!(ptr malloc(count+1)))
return EXIT_FAILURE;
ptr[count] '';fread(ptr count sizeof(char) fp);
fclose(fp); reverse_file(ptr count);
return EXIT_SUCCESS;
}
static void rev_file(char *base unsigned int size)
{
char *end &base[size-1];
if(*end 'n')
{
*end '';
--end;
}
for( ; end > base; --end)
if(*end 'n')
{
*end '';printf(" sn" end+1);
}
printf(" sn" base);
free(base);
}
with regards
P.Nirmal