包含头文件fstream既可以读又可以写(我的理解是头文件fstream中包含ifstream和ofstream),可以同时创建ifstream对象和ofstream对象,分别实现读写;也可以直接创建fstream对象实现读写。
不知道我说他们是对象妥当不妥当,也没怎么看书,不知道这东西具体叫什么。后面有深入了解的话再说的,姑且这么叫。
geline(in,line);这个函数第一个参数是创建的读取对象,第二个参数是储存读取内容的变量。一次读取一行,重复执行可以连续读取多行。
注意:读取的文件编码要和程序的编码,还有cmd窗口的编码相同。否则会出现乱码。可以参考前一篇文章:c++输出中文乱码解决方案
#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(65001);
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 0;
}
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询