2017-02-21 9 views
-2

Ich habe versucht, den Inhalt einer Datei zu drucken, jedoch wird es nichts drucken, es wird nur 0 zurückgeben. Ich habe überprüft und überprüft meinen Code und ich kann nicht finden irgendein Grund, warum es nicht funktioniert. Hier ist ein Beispiel meines Codes.C++ Programm wird Datei in der Konsole nicht anzeigen

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

int main() { 
    ifstream infile("test.txt"); 
    string line; 
    if(infile.is_open()) 
    { 
     cout << infile.rdbuf(); 
    } 
    else 
    { 
     cout << "error" << endl; 
    } 
    infile.close(); 
    return 0; 
} 
+0

Sie haben nie ausgelöst, irgendetwas in den Puffer zu lesen? –

+0

Ich habe die Datei im selben Ordner wie meine main.cpp. Ich verwende xcode auf meinem Macbook. – science1324

+0

Mögliches Duplikat von [Vollständige ASCII-Datei in C++ lesen std :: string] (http://stackoverflow.com/questions/2602013/read-whole-ascii-file-into-c-stdstring) – user4581301

Antwort

0

Sie können es einfach in eine Zeichenfolge lesen und dann ausdrucken.

#include <string> 
#include <fstream> 
#include <streambuf> 

void func() 
{ 
    // Read into a buffer. 
    std::ifstream t("file.txt"); 
    std::string str; 

    t.seekg(0, std::ios::end); 
    str.reserve(t.tellg()); 
    t.seekg(0, std::ios::beg); 

    // Assign to a string. 
    str.assign((std::istreambuf_iterator<char>(t)), 
      std::istreambuf_iterator<char>()); 

    // Print out the string to the console. 
    std::cout << str << "\n"; 
} 
+0

Danke! Alles, was ich versucht habe, ist, die Datei zu lesen und den Inhalt in der Konsole anzuzeigen. – science1324

+0

@ science1324 Wenn Sie einen Beitrag eine befriedigende Antwort finden, markieren Sie es als Beantwortet. – DiB

Verwandte Themen