问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言文件操作习题

发布网友 发布时间:2022-08-11 04:29

我来回答

3个回答

热心网友 时间:2023-10-17 01:03

#include "stdio.h"
int copy()
{
FILE *fpnew,*fpold1,*fpold2;
int ch;
if((fpnew=fopen("f3.txt","wb"))==NULL)
return -1;
if((fpold1=fopen("f1","rb"))==NULL)
return -1;
if((fpold2=fopen("f2","rb"))==NULL)
return -1;
while(1)
{
ch=fgetc(fpold1);
if(!feof(fpold1))
fputc(ch,fpnew);
else
break;
}
while(1)
{
ch=fgetc(fpold2);
if(!feof(fpold2))
fputc(ch,fpnew);
else
break;
}
fclose(fpnew);
fclose(fpold1);
fclose(fpold2);
return 0;
}
int main()
{ if(copy()==0)
printf("复制成功");
else
printf("复制失败");
}

这是我给你写的代码,排版、缩进好行有问题,楼上的代码是从那里复制来的吧??

        -物联网校企联盟技术部

热心网友 时间:2023-10-17 01:04

#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp1,*fp2,*fp3;
char st[100],ch;
int n=0,i,j,m;
if((fp1=fopen("f1.txt","r"))==NULL||(fp2=fopen("f2.txt","r"))==NULL||(fp3=fopen("f3.txt","w"))==NULL)
{
printf("文件打开失败,可能没创f1.txt或f2.txt.\n");
exit(0);
}
while((st[n++]=fgetc(fp1))!=EOF);//读取文件一中的内容,存入数组
while((st[n++]=fgetc(fp2))!=EOF);
printf("f1.txt和f2.txt中的字符分别为:\n");
for(i=0;i<n;i++)
putchar(st[i]);
for(i=0;i<n-1;i++)//排序
{
m=i;
for(j=i+1;j<n-1;j++)
if(st[j]<st[m])
m=j;
ch=st[i];
st[i]=st[m];
st[m]=ch;
}
printf("\n");
printf("排序后放入f3.txt的字符为:\n");
for(i=1;i<n-1;i++)
{
fputc(st[i],fp3);
putchar(st[i]);
}
printf("\n");
fclose(fp1);
fclose(fp2);
fclose(fp3);
return 0;
}运行结果:注意:运行时要先在存放运行代码的那个文件夹里创建f1.txt和f2.txt并在两个文件里输入一些字符,运行程序结束后会在这个文件夹里产生f3.txt,里面有排列好的内容

热心网友 时间:2023-10-17 01:04

int Partition(int *R,int i,int j)
{
int pivot=R[i];
while(i<j)
{
while(i<j&&R[j]>=pivot)
j--;
if(i<j)
R[i++]=R[j];
while(i<j&&R[i]<=pivot)
i++;
if(i<j)
R[j--]=R[i];
}
R[i]=pivot;
return i;
}
void QuickSort(int *R,int low,int high)
{
int pivotpos;
if(low<high)
{
pivotpos=Partition(R,low,high);
QuickSort(R,low,pivotpos-1);
QuickSort(R,pivotpos+1,high);
}
}//QuickSort

int main(void)
{
int size1,size2,size3=0;
char *ptr1,*ptr2,*ptr3;
//读第一个文件
FILE* f = fopen( "f1.txt", "rb" );
if( !f )
return -1;
fseek( f, 0, SEEK_END );
size1 = ftell( f );
size3+=size1;
ptr1=(char*)malloc(size1);
fseek( f, 0, SEEK_SET);
fread( ptr1, 1, size1, f );
fclose(f);
//读第二个文件

f = fopen( "f2.txt", "rb" );
if( !f )
return -1;
fseek( f, 0, SEEK_END );
size2 = ftell( f );
size3+=size2;
ptr2=(char*)malloc(size2);
fseek( f, 0, SEEK_SET);
fread( ptr2, 1, size2, f );
fclose(f);

//合并
ptr3=(char*)malloc(size3);
memcpy(ptr3,ptr1,size1);
memcpy(ptr3+size1,ptr2,size2);
free(ptr1);
free(ptr2);
//排序
QuickSort(ptr3,0,size3-1);
//写入
FILE* f = fopen( "f3.txt", "wb");
if(!f)
return -1;
fwrite(ptr3,1,size3,f);
free(ptr3);
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 “三拐儿”这个偏旁怎么打 ...注销一个微信支付账户,会影响到我另一个的正常支付使用吗... 微信支付解绑实名认证后,会不会被注销啊? 洋气带轩字的男孩名字大全 带轩的男孩名字洋气好听 烧汁鲈鱼做法窍门 15公斤水兑多少硫酸铜治水稻秧苗青苔,对秧苗有影响吗 五年级下册杨氏之子同步学习 天越来越黑仿写句子 天越来什么越什么,雨越来什么越什么.[造句] 天越来越-,-焦急地-。补充句子完整 天越来越什么树上的树叶越来越什么? 肾藏精怎么解释? 肾主藏精包概括哪两个方面 五菱再造新“神车”:6座,配超长滑轨以及ADAS驾驶辅助系统 变压器二次侧使用660v,功率300kW,一次侧电流应整定为多少安,怎么算... 300w变压器线径与匹数多少? 喜客咖啡机的公司信息 cf手游ak47伯爵能觉醒吗 ak47耀金伯爵绝版了吗 手游cf耀金伯爵多少 C语言文件题? 求C语言习题 C语言文件编程题!!急!!! 苦草种植方法及注意事项是什么?如何高效种植? C语言文件题,在线急等!! 华为mate20pro128g内存可以扩展多少 https server怎么绕过安装证书 空调压缩机电容坏是什么症状 新课改背景下如何引导学生学好数学 梅西C罗莱万谁最强? 世界上睡觉最晚的动物是什么? 喜欢晚睡的动物是什么呢 什么动物是晚上睡觉,白天出来 ...IC卡预付费电表读卡器电费充值器 充值软件安装教程? 手游满v无限钻石公益服 大家鉴定下是不是上线满V,无限钻石的手游公益服 汉朝有几个篡权的皇帝? 历史上弑亲篡位的皇帝有谁? 愈加和更加有什么区别 ...信维通信股票历史行情资金流向?信维通信为啥跌跌不休?