Gå til innhold

Hjelp på en oppgave i en bok


Anbefalte innlegg

Videoannonse
Annonse

Saboi sin kode er tydeligere og bedre:

 

#include <fstream>
#include <iostream>
#include <limits>
#include <string>

int main()
{
    using namespace std;

    string word;
    cout << "Enter filename to open: ";
    cin >> word;

    ifstream file(word.c_str());
    if (!file) {
        cerr << "Unable to open " << word << " for reading...\n";
        exit(1);
    }

    while(getline(file, word)) {
        cout << word << endl;
        cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    }
 return 0;
}

 

 

Edit: Glemte #include <fstream>

Endret av Myubi
Lenke til kommentar

takk Myubi! Den funket perfect :thumbup:

 

men det er et par ting jeg lurer på, og det er dette:

cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

ifstream file(word.c_str());

 

Har lært ifstream in("filnavn")

 

kan noen forklare litt om d? skjønner det litt, men ikke godt nok. Har lyst og få med meg det meste :blush:

Lenke til kommentar

Ikke takk meg -- det var saboi som skrev koden. Jeg satte den bare inn i kontekst, slik at du skulle forstå den.

 

 

Den første linjen venter kort fortalt på at brukeren trykker enter.

 

Den andre linjen kaller std::string::c_str(), som returnerer en const char* (ofte referert til som en C-style string). Det er den (parameter)typen konstruktøren til ifstream vil ha. Tilsvarende er "filnavn" også en const char*, så de to kan brukes om hverandre.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...