在控制台C++上打印文本文件的内容

我试图将文件的内容打印到控制台,但它显示的是地址。请帮帮我(另外,请提出另一种方式而不是std::cout,因为我们在课堂上没有研究过,我不明白,但我想我应该使用它)。

这是代码:

#include<iostream>
#include<fstream>
using namespace std;

int main()
{
    ifstream f("board.txt");
    if(f.is_open())
    {
        cout<<f;
    }
    else{
        cout<<"ERROR:no file opened.";
    }
}

回答

没有标准重载operator<<直接使用流来输出该流的内容。

输出整个文件的天真解决方案是在循环中读取输入流的内容,并逐条输出 -

但是有一个operator<<重载需要一个流缓冲区,您可以通过该rdbuf函数获得它:

std::cout << f.rdbuf();

这应该写入文件的所有内容。


以上是在控制台C++上打印文本文件的内容的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>