将xiaosun.txt中的文件和text。txt中的文件按字母顺序排好写入c.txt文件中

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define M 100
int main()
{
  FILE *in,*out1,*out2;
  char ch1,ch2;
  char s[M],t;
  int i=0,m,n,len;

  //打开这三个文件
  if((in=fopen("xiaosun.txt","r"))==NULL)
{
    printf("error");
	exit(0);
}   
 
  if((out1=fopen("text.txt","r"))==NULL)
{
    printf("error");
	exit(0);
}   

   if((out2=fopen("C.txt","w"))==NULL)
{
    printf("error");
	exit(0);
}   
   //将文件text中的内容,追加到xiaosun中的后面。

 /*  while((ch1=fgetc(in))!=EOF)//送入xiaosun文件中追加
   {
    
	  fputc(ch1,out2);
	// putchar(ch1);//把in指针的移动末尾
   }
 
      while((ch2=fgetc(out1))!=EOF)//送入xiaosun文件中追加
   {
     
	  fputc(ch2,out2);
	 
   }*/
   //把xiaosun文件的内容,复制到c中。

	 //对c文件中的字符进行排序
//out2的指针要重新回到开头

 while((ch1=fgetc(in))!=EOF)//送入xiaosun文件中追加
   {
    s[i++]=ch1;//把字符全部取出来放在数组s中进行排序操作
   
   }
 while((ch2=fgetc(out1))!=EOF)//送入xiaosun文件中追加
   {
    s[i++]=ch2;//把字符全部取出来放在数组s中进行排序操作
   }
//进行冒泡排序
 s[i]='\0';//记住这个地方一定要加,否则调试会有错误
 len=strlen(s);
 printf("字符串的长度为:%d\n",len);
 for(m=0;m<len-1;m++)
 {
 
    for(n=0;n<len-m-1;n++)
	{
	   if(s[n]>s[n+1])
	   {
	   t=s[n];
	   s[n]=s[n+1];
	   s[n+1]=t;
	   
	   }
	}
 }

  fputs(s,out2);
  fclose(in);
  fclose(out1);
  fclose(out2);
  return 0;
}

非常需要注意是:字符串结束标志一定要加上。

基本思想是:将xiaosun.txt中的内容和text.txt中的内容取出来放在字符数组s中,对数组中的字符进行排序,然后把字符串在写入c文件中。

 

 

谭浩强第四版文件那章的系统第四题。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sustyle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值