包含头文件fstream既可以读又可以写,可以同时创建ifstream对象和ofstream对象,分别实现读写;也可以直接创建fstream对象实现读写。
geline(in,line);这个函数第一个参数是创建的读取对象,第二个参数是储存读取内容的变量。一次读取一行,重复执行可以连续读取多行。
注意:读取的文件编码要和程序的编码,还有cmd窗口的编码相同。否则会出现乱码。
#include <fstream>//ifstream读文件,ofstream写文件,fstream读写文件
#include <string>//文本对象,储存读取的内容
#include <iostream>//屏幕输出cout
#include <cstdlib>//调用system("pause");
#include <windows.h>//用于函数SetConsoleOutputCP(65001);更改cmd编码为utf8
using namespace std;
int main()
{
SetConsoleOutputCP();
ifstream in("1.txt");
string line;
if(in) // 有该文件
{
while (getline (in, line)) // line中不包括每行的换行符
{
cout << line << endl;
}
}
else // 没有该文件
{
cout <<"no such file" << endl;
}
system("pause");
return ;
}