53-C语言-给文件A,B中的内容,写到C文件中,并读取C文件-创新互联
问题:
成都创新互联拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十余年,专业且经验丰富。十余年网站优化营销经验,我们已为成百上千中小企业提供了成都网站制作、成都做网站解决方案,按需制作网站,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!给A,B文件中内容,写到C文件中,且A,B中内容只能是大写字母,若为小写,则变为大写。A,B的内容是从两个字符串获取的。C文件中内容需要从小到大排序;也就是在上一篇文章52的基础上,写个A文件和B文件,然后让他俩合并,弄到C里面。
思路:
- 先利用上篇52的思想,写出A,B俩文件,并且给C文件的w权限也打开。
- 如果你想把文件中的内容取出来,打印,那么便需要读文件操作。如果想要存进去,便需要写文件操作。
- 写文件操作:第一步:FILE* fp =fopen("D:\\A","w"); 第二步:if(fp=NULL){perror("fopen"); return 1} 第三步:fputs(a,fp);或者fputc(a[i],fp); 第四步:fclose(fp);fp=NULL;
- 读文件操作:第一步:FILE* fp =fopen("D:\\A","r"); 第二步:if(fp=NULL){perror("fopen"); return 1} 第三步:fgets(a,strlen(a)+1,fp);或者int a=fputc(fp); 第四步:fclose(fp);fp=NULL;
代码如下:
#include#includeint main()
{
char a[100];
char b[100];
char c[100];
gets(a);
gets(b);
FILE* fp=fopen("D:\\A","w"); //对A.B文件进行创建和写内容
FILE* np=fopen("D:\\B","w");
if(fp==NULL||np==NULL)
{
perror("fopen");
return 1;
}
int sum_a=strlen(a);
int sum_b=strlen(b);
int q;
int Bsum=0;
for(q=0;q<=sum_b;q++)
{
if(b[q]>='a'&&b[q]<='z')
{
b[q]=b[q]-32;
fputc(b[q],np);
Bsum++;//存进B的字符串长度
}
}
int i;
int Asum=0;
for(i=0;i<=sum_a;i++)
{
if(a[i]>='a'&&a[i]<='z')
{
a[i]=a[i]-32;
fputc(a[i],fp);
Asum++;//存进A的字符串长度
}
}
fclose(fp); fp=NULL; fclose(np); np=NULL;
//从A,B中读出内容,并且合并一个,随后写进C中
FILE* cp=fopen("D:\\C","w");//写C文件
fp=fopen("D:\\A","r"); //读A文件
np=fopen("D:\\B","r"); //读B文件
fgets(a,Asum+1,fp); //把A文件中内容读取到数组a中
fgets(b,Bsum+1,np); //把B文件中内容读取到数组b中
printf("%s\n",a);//a文件内容
printf("%s\n",b);//b文件内容
strcat(a,b); //给a、b合并,即把b中内容拼接到a中
int k,r; //拼接完成后,进行冒泡排序,字母小的排在前面
for(k=0;ka[r+1])
{
temp=a[r];
a[r]=a[r+1];
a[r+1]=temp;
}
}
}
//排序完成,把拼接排序好的数组内容,写入C文件中
fputs(a,cp);
fclose(cp); fclose(fp);fclose(np);
fp=NULL; np=NULL; cp=NULL;
cp=fopen("D:\\C","r");//读取C文件
fgets(a,strlen(a)+1,cp); //给C中文件读取到a数组中
puts(a); //输出即可
fclose(cp);
cp=NULL;
return 0;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前题目:53-C语言-给文件A,B中的内容,写到C文件中,并读取C文件-创新互联
文章链接:http://ybzwz.com/article/igced.html