C++ 如何将一个文件里的数据写入到另一个文件里?

2024-11-12 16:00:01
推荐回答(3个)
回答1:

C++ 实现文件复制的方法为:

  • 文件操作需要用到头函数fstream

  • 用ifstream打开源文件,备读

  • 用ofstream打开目标文件,备写

  • 循环读取源文件

    • 用getline()函数,逐行读取源文件到字符串中

    • 用cout输出字符串到标准输出(屏幕)

    • 把读到的字符输出到目标文件

    • 若读文件结束,结束循环

  • 关闭源文件和目标文件

参考代码:

#include //输入输出流
#include //文件流头文件
using namespace std;
int main()
{
ifstream in("src.txt"); //源文件读
ofstream out( "obj.txt" ); //目标文件写
if (!in){
cout <<"open source file error!"< return -1;
}
while( !in.eof() ) //文件未结束,循环
{
char str[1024];
in.getline(str,sizeof(str),'\n'); //读一行
cout << str << endl; //输出到屏幕
out<< str < }
in.close();
out.close();
return 0;
}

回答2:

#include
#include
class information
{
public:
int number;
char name[10];
int score;
};
void main()
{
information a[2];
for(int i=0;i<2;i++)
{
cout<<"姓名:"< cin>>a[i].name;
cout<<"学号:"< cin>>a[i].number;
cout<<"成绩:"< cin>>a[i].score;
}

//文件写入
fstream finout;
finout.open("stu_info.txt",ios::out|ios::app);

finout<<"姓名\t"<<"学号\t"<<"成绩\t"<
for(i=0;i<2;i++)
{
finout< }
finout.close();
// 文件读取
char c;
fstream read1;
read1.open("stu_info.txt",ios::in);
while(!read1.eof())
{
c=read1.get();
cout<<(char)c;
}
read1.close();
}

回答3:

#include
#include
using namespace std;

int main()
{
ofstream fout("新文件.txt");
ifstream fin("旧文件.txt");
char ch;
while((ch = fin.get()) && (ch != EOF))
{
cout << ch;
fout << ch;
}
return 0;
}