array von pair benutzen



  • Hallo,

    ich möchte folgendes implementieren:

    [cpp][/code]
    #include <string>
    #include <iostream>
    #include <fstream>
    #include <utility>

    using namespace std;

    int main(){

    pair<string, string> meinarray[1];

    ofstream myFile("c:/out.txt");
    // Creates an ofstream object named myFile

    meinarray[0].first = ("Hallo");
    meinarray[0].second = ("Christoph");
    meinarray[1].first = ("Du bist");
    meinarray[1].second = ("super");

    if (! myFile) // Always test file open
    {
    cout << "Error opening output file" << endl;
    return -1;
    }

    myFile << meinarray[0].first << "\t";
    myFile << meinarray[0].second << endl;

    myFile << meinarray[1].first << "\t";
    myFile << meinarray[1].second << endl;

    myFile.close();
    }

    leider funktioniert das so nicht. Wo liegt der Fehler?
    Wenn ich nur das erste Feld meinarray[0]. belege und abfrage funktioniert es!

    Ich möchte Wertepaare mit pair in einem array speichern um das dann in eine datei zu schreiben und auch wieder auslesen zu können.

    Gruss
    Christoph
    (email: christ.richter@gmx.de)



  • Hallo

    Wenn du zwei Stellen in deinem Feld willst, musst du das auch ansagen:

    std::pair<std::string, std::string> Pairs[2];
    

    und nicht Pairs[1];

    Dann kannst du auf Pairs[0] und Pairs[1] zugreifen.

    chrische



  • danke,

    so funktionierts.

    Aber warum? ein array fängt doch bei index 0 an.
    Demnach bin ich davon ausgegangen das meinarray[1]
    index 0 und index 1 besitzt.

    Denke ich da falsch?

    Gruss
    Christoph



  • Hallo

    Du musst erstmal sagen wieviele Stellen du willst: also zum Beispiel 5. Dann kanst du auf 5 Stellen zugreifen (0,1,2,3,4).

    chrische



  • danke dir!

    Christoph


Anmelden zum Antworten