c++实现按行读取文本文件

180it 2020-10-08 PM 832℃ 0条

包含头文件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;

}
 
支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

c++实现按行读取文本文件