当前位置:网站首页>两个文件 合并为第三个文件 。
两个文件 合并为第三个文件 。
2022-06-26 19:11:00 【laocooon】
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define MAX 1024
#define F1 "f1.txt"
#define F2 "f2.txt"
#define F3 "f3.txt"
void strcat(char* s1, char *s2,char *s3)//交替排列生成的串给s3
{
int i = 0,j=0,k=0;
while (s1[i] && s2[j])
{
s3[k++] = s1[i++];
s3[k++] = s2[j++];
}
while (s1[i])
{
s3[k++] = s1[i++];
}
while (s2[j])
{
s3[k++] = s2[j++];
}
s3[k] = '\0';
}
void printfile(char *filename)
{
char s[1024];
FILE* fp;
fp = fopen(filename, "r");
if (fp == NULL)
return;
printf("%s的内容如下:\n",filename);
while (fscanf(fp, "%s", s) != EOF)
{
printf("%s\n",s);
}
fclose(fp);
}
void merge(char *file1, char* file2, char* file3)
{
char s1[1024], s2[1024], s3[2048];
int tmp1,tmp2;
FILE* f1, * f2, * f3;
f1 = fopen(file1, "r");
f2 = fopen(file2, "r");
f3 = fopen(file3, "w");
if (f1 == NULL || f2 == NULL || f3 == NULL)//如果三个文件 中有一个打开失败,直接退出
return ;
while (1)
{
tmp1 = fscanf(f1, "%s", s1);
tmp2 = fscanf(f2, "%s", s2);
if (tmp1 == EOF && tmp2 == EOF)
break;
else if (tmp1 != EOF && tmp2 != EOF)
{
strcat(s1, s2, s3);
fprintf(f3, "%s\n", s3); }
else if (tmp2 != EOF)
{
printf(f3, "%s\n", s2);
}
else if (tmp1 != EOF)
{
fprintf(f3, "%s\n", s1);
}
}
fclose(f1);
fclose(f2);
fclose(f3);
}
int main()
{
printfile(F1);
printfile(F2);
merge(F1,F2,F3);
printfile(F3);
return 0;
}边栏推荐
猜你喜欢

9. Intelligent transportation project (2)

(几何) 凸包问题

On the escape of inequality value

Preliminary analysis of serial port printing and stack for arm bare board debugging

Feign远程调用

Image binarization

Filebeat安装及使用

Numpy之matplotlib

【Kubernetes】Kubernetes 原理剖析与实战应用(更新中)

Minimum spanning tree, shortest path, topology sorting, critical path
随机推荐
Boot的单元测试
mysql的充值问题
Tiktok practice ~ sharing module ~ generate short video QR code
Leetcode 128 longest continuous sequence
Micro service single sign on system (SSO)
微信小程序 自定义 弹框组件
Kubernetes 资源拓扑感知调度优化
8VC Venture Cup 2017 - Final Round C. Nikita and stack
Redis single sign on system + voting system
元宇宙链游开发案例版 NFT元宇宙链游系统开发技术分析
Usage and difference between ros:: spinonce() and ros:: spin()
项目实战四:用户登录及token访问验证(reids+jwt)
Pinda general permission system (day 3~day 4)
Xlua get button registration click event of ugui
成功解决之Jenkins报错:The goal you specified requires a project to execute but there is no POM
Some basic mistakes
物联网协议的王者:MQTT
Selection of database paradigm and main code
微服务版单点登陆系统(SSO)
Reading notes: process consulting III