如何在C ++中显示文件的内容

时间:2016-03-04 22:27:36

标签: c++ file fstream

我这里有一些代码 https://github.com/Fallauthy/Projects/blob/master/cPlusPlusProjects/bazaPracownikow/bazaPracownikow/bazaPracownikow/main.cpp

我不知道如何在我的文件中显示内容。我的意思是我知道怎么做,但它没有显示我在文件中的相同内容(链接中)。它显示在下一行。此代码负责加载文件

while (!baseFile.eof()) {
    //wczytaj zawartosc pliku do zmiennej
    std::string buffer;
    baseFile >> buffer;

    //wypisz
    loadLineFromBase += buffer;
    loadLineFromBase += " \n";
}
std::cout << loadLineFromBase << std::endl;

2 个答案:

答案 0 :(得分:0)

除非我看到你能为你做的所有代码,否则就给你一个样品作为回报,我不知道你要做什么,但在这种情况下你似乎是寻找这个。

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

int main()
{ 

  string Display = "";
  ofstream FileOut;
  ifstream FileInput;

  FileOut.open("C:\\Example.txt");

  FileOut << "This is some example text that will be written to the file!";

  FileOut.close();

  FileInput.open("C:\\Example.txt");

  if (!FileInput)
  {
      cout << "Error File not Found: " << endl; 
      return 1; 
  }

  while (!FileInput.eof())
  {
      getline(FileInput, Display);
  } 
  FileInput.close();
  cout << Display << endl; 

  return 0;
}

如果您目前正在使用文本文档

,请简单地说明

使用getline()

当你使用getline()时,它需要两个参数,第一个是ifstream对象,就像你用来打开文件一样。第二个将是您用来存储内容的字符串。

使用上面概述的方法,您将能够阅读整个文件内容。

请下次如上所述,请更深入地概述您的问题,如果您向我们提供了所有代码,我们可以更好地为您提供帮助!

答案 1 :(得分:0)

您的代码片段会自动为从输入文件中读取的每个字符串添加换行符,即使最初这些字符是由空格分隔的单词。您可能希望保留原始文件的结构,因此最好一次读取一行,除非您需要将其用于其他用途,否则请在同一循环中打印出来。

std::string buffer;

// read every line of baseFile till EOF
while ( std::getline(baseFile, buffer) ) {

    std::cout << buffer << '\n';
}