ITfeng

 

Linux---文件操作

将1.txt中的数字读出来,再逆序输出到2.txt中去,要求逆序

熟悉 fopen fclose fprintf,fscanf的用法

#include<stdio.h>
#include<stdlib.h>
#define INCREASE 20
int main()
{ int max=10;
 FILE*fp1;
 FILE*fp2;
 int *array=(int*)malloc(max*sizeof(int));
 int *temp;
 fp1=fopen("1.txt","r");
 if(fp1==NULL)
 {
  printf("open 1.txt error\n");
  exit(-1);
 } 
 fp2=fopen("2.txt","w");
 if(fp2==NULL)
 {
  printf("open 2.txt error\n");
  exit(-1);
 }
 int i=0,j=0;
 while(fscanf(fp1,"%d",&array[i])!=EOF)
 { i++;
  if(i>=max)
  { max+=INCREASE;
   temp=(int*)realloc(array,max*4);
   if(temp==NULL)
   {
    printf("realloc error\n");
    exit(-1);
   }
   array=temp;   
  }
  
 }
 j=i;
 for(i=j-1;i>=0;i--)
 {
  fprintf(fp2,"%d\n",array[i]); 
 }
 fclose(fp1);
 fclose(fp2);
 
}

posted on 2012-05-08 21:18  ITfeng  阅读(160)  评论(0编辑  收藏  举报

导航