紧急求助!明天就考试!C语言编程题!和文件有关的

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:34:17
文件C:\DOS\A.DAT中存放着由10个大小写字母组成的一个字符串,编程实现将文件C:\DOS\A.DAT中的字符串按ASCII码的值由小到大排序的结果写入文件C:\WINDOS\B.DAT中
跟文件的打开保存有关的
排序会,但是怎么把文件排序完了存入B.DAT 求 详细解答

#include <stdio.h>
void main()
{
FILE *in,*out;
char ch;char a[10];
int i,j,k;
if((in=fopen("C:\\DOS\\A.DAT","r"))==NULL)
{
printf("cannot open file\n");
return;
}
ch=fgetc(in);
for(i=0;ch!=EOF;i++)//读取A中的字符串
{
a[i]=ch;
ch=fgetc(in);
}
for(j=i-1;j>=1;j--)//冒泡排序
for(k=0;k<j;k++)
if(a[k]>a[k+1])
{
char t;
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
if((out=fopen("C:\\WINDOS\\B.DAT","w"))==NULL)
{
printf("cannot open file\n");
return;
}
for(k=0;k<i;k++)fputc(a[k],out);//把文件排序完了存入B.DAT
fclose(in);
fclose(out);
}
//对文件操作不是很了解,只能用最笨的方法了,你参考一下吧

写点核心的吧,比如char *c,c中是从文件到中读取的10个字母的字符串,下边是排序程序
int i,j;
char temp;
for(i=0;i&