使用C++将文件内容复制到另一个文件
File content copy to another file using C++
我是 C++ 编程的新手。我的objective是将一个文件的内容复制到另一个文件中
我的代码如下:
#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
但我在输出文件中得到 el olÿ
。
不确定我在这里做错了什么。谁能帮我解决这个问题?
这里有几个问题:
不要将字符与字符串文字进行比较。对字符文字使用单引号。
不要调用get()
两次,你会丢失一半的字符。
将循环更改为:
while (file1.get(ch)) {
cout << ch;
if (ch == ' ') {
continue;
}
file2 << ch;
}
如果您的代码是正确的,则 tfile 中有 "helloworld"。但是直接打开是不会显示的。您可以使用上面的代码显示数据来检查 tfile 的内容。
我是 C++ 编程的新手。我的objective是将一个文件的内容复制到另一个文件中
我的代码如下:
#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
但我在输出文件中得到 el olÿ
。
不确定我在这里做错了什么。谁能帮我解决这个问题?
这里有几个问题:
不要将字符与字符串文字进行比较。对字符文字使用单引号。
不要调用
get()
两次,你会丢失一半的字符。
将循环更改为:
while (file1.get(ch)) {
cout << ch;
if (ch == ' ') {
continue;
}
file2 << ch;
}
如果您的代码是正确的,则 tfile 中有 "helloworld"。但是直接打开是不会显示的。您可以使用上面的代码显示数据来检查 tfile 的内容。