C++中读取多个文本文件输出到一个文本文件中
假设“1.txt”“2.txt”“3.txt”“4.txt”“5.txt”五个文件要输出到“zong.txt”请给出代码...
假设 “1.txt” “2.txt” “3.txt” “4.txt” “5.txt”五个文件要输出到 “zong.txt” 请给出代码
展开
展开全部
用多个文件指针同时打开多个文件即可。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
#include<stdio.h>
int a;
char b,c[100];
int main(){
FILE * fp0 = fopen("input0.txt", "r");//打开输入文件input0
FILE * fp1 = fopen("input1.txt", "r");//打开输入文件input1
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
fscanf(fp0,"%d",&a);//从第一个输入文件读取一个整数
b=fgetc(fp0);//从第一个输入文件读取一个字符
fgets(c,100,fp1);//从第二个输入文件读取一行字符串
printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
fputs(c,fp2);//向输出文件写入一行字符串
fputc(b,fp2);//向输出文件写入一个字符
fprintf(fp2,"%d",a);//向输出文件写入一个整数
fclose(fp0);//关闭输入文件
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}
展开全部
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main(){
ofstream fout("zong.txt");
int i;
char buf[1024];
string fn, st1="12345",st2=".txt";
for(i=1;i<=5;i++){
fn=st1.substr(i-1,1)+st2; //拼出第 i 个文件的 文件名
ifstream fin(fn.c_str()); //打开第 i 个文件
while(!fin.eof()){
fin.getline(buf,1023);
fout <<buf <<endl;
}
fin.close();
}
fout.close();
return 0;
}
#include<fstream>
#include<string>
using namespace std;
int main(){
ofstream fout("zong.txt");
int i;
char buf[1024];
string fn, st1="12345",st2=".txt";
for(i=1;i<=5;i++){
fn=st1.substr(i-1,1)+st2; //拼出第 i 个文件的 文件名
ifstream fin(fn.c_str()); //打开第 i 个文件
while(!fin.eof()){
fin.getline(buf,1023);
fout <<buf <<endl;
}
fin.close();
}
fout.close();
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询