问题及代码:
#include <iostream> //定义头文件
#include <fstream>
#include<cstring>
using namespace std;
int main()
{
ifstream readFile; //定义文件流对象
ofstream writeFile;
char ch[100];
readFile.open("a.txt", ios::in); //以输入方式打开a.txt
writeFile.open("b.txt", ios::out); //以输出方式打开b.txt
while (!readFile.eof()) //如果成功打开文件
{
readFile.getline(ch,100,'\n'); //接受a.txt 一行的数据
writeFile.write(ch,strlen(ch)); //输出到b.txt 一行的数据
writeFile.write("\n",1); //写入一个换行符
}
readFile.close(); //关闭文件
writeFile.close();
cout << "Finish!" << endl;
return 0;
}
运行结果:
这个也是文件的复制。
在getline 遇到换行符结束,所以在输出的时候,每行结尾应该加上换行符
write 函数的使用方式跟getlince使用方式类似 cout.write(字符数组(或者字符指针),字符个数)
有open 就有close