C++如何逐字打印.txt文件?

Til*_*ted 5 c++ printing file output

我有一个文件,我试图打印到屏幕,但它返回的是"0x28fe88",当文件本身是13列乘几百行.

#include <iostream>
#include <fstream>
#include <istream>
#include <ostream>
#include <cstdlib>
using namespace std;

int main()
{
    //Opens .txt file
    ifstream infile1;
    infile1.open("Taylor.txt");

    //Fail check
    if(infile1.fail())
    {
        cout << "File failed to open.\n";
        exit(1);
    }

    //Prints file to screen (not correctly)
    cout << infile1;

    //Closes file
    infile1.close();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

否则我不会发布完整的代码,但我希望它足够短,不能保证捕获准备.

Fro*_*rog 10

要打印出文本文件,请使用此方法cout << infile1.rdbuf();,因为现在您正在打印指向文件的指针.

编辑:如果这对你不起作用,最接近它的是逐个字符地读取文件.还有其他方法可以使用字符串,但这段代码可以正常使用:

while(infile1.good()) 
    cout << (char)infile1.get();
Run Code Online (Sandbox Code Playgroud)

它读取字符代码,同时文件很好阅读并立即将其转换为char(可能需要对UNICODE进行一些修改)并将其打印出来.