wie kann ich öffnen und Lesen einer Datei mit ifstream in C++?

Ich möchte eine Datei öffnen und eine Zeile Lesen. Es wird nur eine Zeile in der Datei, so dass ich nicht wirklich brauchen, um sorgen über die Schleife, obwohl für zukünftige Referenz wäre es gut zu wissen, wie zu Lesen mehrerer Zeilen.

int main(int argc, const char* argv[]) {

    //argv[1] holds the file name from the command prompt

    int number = 0; //number must be positive!

    //create input file stream and open file
    ifstream ifs;
    ifs.open(argv[1]);

    if (ifs == NULL) {
        //Unable to open file
        exit(1);
    } else {
        //file opened
        //read file and get number
        ...?
        //done using file, close it
        ifs.close();
    }
}

Wie kann ich dies tun? Außerdem bin ich im Umgang mit dem Datei-öffnen-korrekt in Bezug auf die erfolgreiche öffnen?

Dank.

Haben Sie ein C++ - Buch? Wenn dem so ist, hast du auch schon in dem Kapitel der Diskussion der standard-I/O-Bibliothek? Wenn nicht, würde ich dringend empfehlen, sich eines der einführenden Bücher aufgeführt, die in The Definitive C++ Book Guide and List.
Ich habe kein C++ Buch. Ich war auf der Suche auf cplusplus.com/reference/iostream/istream/getline und ich war verwirrt durch die streamsize n parameter.
Wenn du auf den streamsize Seite, es sagt: "Der Typ ist eine von der Implementierung definierte synonym für eine der signierten basic-Integrale Typen (in der Regel signed int oder signed long)."
n ist die Größe des Puffers, die s Punkte zu. Wenn Sie die Globale getline anstatt das Mitglied getline, dann brauchen Sie sich nicht zu kümmern, dass parameter, weil die Globale getline liest in einem std::string Objekt eher als ein Puffer, und std::string Objekte sind skalierbar.

InformationsquelleAutor Hristo | 2010-07-25

Schreibe einen Kommentar