2009年4月15日 星期三

C語言的範例 –檔案存取

C語言的範例 –檔案存取
題目:有兩個磁片檔A和B,各存放一行字母,要求把這兩個檔中的資訊合併(按字母順序排列),
輸出到一個新檔C中.
1.程式分析:
2.程式源代碼:
#include "stdio.h"
main()
{ FILE *fp;
int i,j,n,ni;
char c[160],t,ch;
if((fp=fopen("A","r"))==NULL)
{printf("file A cannot be opened\n");
exit(0);}
printf("\n A contents are :\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)
{c[i]=ch;
putchar(c[i]);
}
fclose(fp);
ni=i;
if((fp=fopen("B","r"))==NULL)
{printf("file B cannot be opened\n");
exit(0);}
printf("\n B contents are :\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)
{c[i]=ch;
putchar(c[i]);
}
fclose(fp);
n=i;
for(i=0;ifor(j=i+1;jif(c[i]>c[j])
{t=c[i];c[i]=c[j];c[j]=t;}
printf("\n C file is:\n");
fp=fopen("C","w");
for(i=0;i{ putc(c[i],fp);
putchar(c[i]);
}
fclose(fp);
}