gpt4 book ai didi

c++ - 使用C++将文件内容复制到另一个文件

转载 作者:行者123 更新时间:2023-11-28 01:40:11 28 4
gpt4 key购买 nike

我是 C++ 编程的新手。我的目标是将一个文件的内容复制到另一个文件中。

我的代码如下:

#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<fstream.h>

int main(){
ifstream file1;
ofstream file2;
char ch;
char sfile[10], tfile[10];
cout<<"\nEnter the source filename: ";
cin>>sfile;
cout<<"\nEnter the target filename: ";
cin>>tfile;

file2.open(sfile);
file2<<"hello world";
file2.close();

file1.open(sfile);
file2.open(tfile);

while(!file1.eof()){
file1.get(ch);
cout<<ch;
if(file1.get(ch) == " "){
continue;
}
file2<<ch;
}
file1.close();
file2.close();
return 0;
}

但是我在输出文件中没有得到正确的结果。它应该是 helloworld 但我在输出文件中得到了 elolÿ

不确定我在这里做错了什么。谁能帮我解决这个问题?

最佳答案

这里有几个问题:

  1. Don't use std::ifstream::eof() as loop condition.

  2. 不要将字符与字符串文字进行比较。对字 rune 字使用单引号。

  3. 不要调用 get() 两次,你会丢失一半的字符。

将循环更改为:

while (file1.get(ch)) {
cout << ch;
if (ch == ' ') {
continue;
}
file2 << ch;
}

关于c++ - 使用C++将文件内容复制到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47510328/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com