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

时间:2013-08-13 20:30:47

标签: c++ file printing 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;
}

否则我不会发布完整的代码,但我希望它足够短,不能保证捕捉高射炮。

1 个答案:

答案 0 :(得分:10)

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

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

while(infile1.good()) 
    cout << (char)infile1.get();

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

相关问题