用fopen,fread,fwrite编程逆序

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:40:02

//在linux下编程。
#include<stdio.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
int i,j=0, sm;
long len;
FILE *fp;

if(argc!=2)
{
fprintf(stderr,"%s\n",argv[0]);
exit(0);
}
if((fp=fopen(argv[1],"r+"))==NULL)
{
perror("open source" );
exit(0);
}
fseek(fp,0,SEEK_END);
len=ftell(fp);
rewind(fp);
char buffer[len],buffer2[len];
sm=fread(buffer,len,1,fp);
if(sm==0)
{
printf("read file error!\n");
exit(0);
}
for(i=len-1;i>=0;i--)
{
putchar(buffer[i]);/*若不在屏幕显示,这句可不要。*/
buffer2[j++]=buffer[i];
}
fseek(fp,0,0);
fwrite(buffer2,len,1,fp);
fclose(fp);
printf("\n");
return(0);
}

什么逆序???????????