tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
646
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    XxbambamxX XxbambamxX ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    60
    Hi leute

    ich habe folgendes Problem.
    Ich möchte einen String und eine andere Variable vom Typ Int in eine Datei schreiben.
    Mit einer gings ja ganz gut:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    int writepassword(string password)
    {
        ofstream Output("password.psw", ios::binary);
        Output.write((char*)&password, sizeof(password));
        Output.close();
    return 0;
    }

    das konnte ich dann auch einfach auslesen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    string readpassword(string password)
    {
        ifstream Input("password.psw", ios::binary);
        Input.read((char*)&password,sizeof(password));
        Input.close();
    return password;
    }

    Wenn ich nun aber 2 voneinander unabhängige Variablen die nicht vom gleichen Typ sind in eine Datei schreiben möchte und dann jeweils nur eine davon auslesen weiss ich nicht wie das funktionieren könnte.
    So funktioniert das irgendiwe nicht
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    int writepassword(string password, int uses)
    {
        ofstream Output("password.psw", ios::binary);
        Output.write((char*)&password, sizeof(password));
        Output.write((char*)&uses, sizeof(uses));
        Output.close();
    return 0;
    }
    dann erhalte ich nämlich beim String immer das richtige und bei der Int Variable immer 0.
    Ist das überhaupt möglich?
    Wenn ja wie..?
    Ich hoffe ich konnte das Problem verständlich erleutern und freue mich auf die Antworten

    mfg
     
    Wer im Steinhaus sitzt sollte nicht mit Glas werfen!
    Wer Rechtschreibefehler findet darf sie behalten ;)
    www.simonsmile.jimdo.com

  2. #2
    badday badday ist offline Mitglied Brokat
    Registriert seit
    Dec 2009
    Beiträge
    321
    Blog-Einträge
    1
    Darf man fragen, warum du nicht einfach die Operatoren << und >> benutzt?
     
    Galaxy under Fire - 24/7 Online-Real-Time-Strategy-Game - servers are already running - Wir suchen einen Texturier für 3D-Modelle (bei Interesse einfach PM ;) )

  3. #3
    lgorse lgorse ist offline Mitglied Bronze
    Registriert seit
    Feb 2009
    Beiträge
    34
    Anstatt von Output.write(...) verwendest du am besten Output << password << endl << uses;
     

  4. #4
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    da sehe ich zwei Möglichkeiten:

    1. Du reservierst in der Datei jeweils eine feste Größe für die verschiedenen Datentypen. Dann kannst du den Dateizeiger an die gewünschte Stelle positionieren und die entsprechende Variable direkt auslesen.

    2. Du machst es so wie jetzt, nämlich die Daten hintereinander wegschreiben. In dem Fall musst du auch wieder die gesamte Datei einlesen und hast damit die gewünschten Daten. Wie schon angemerkt wurde: Die Streamoperatoren machen einem das Leben wesentlich einfacher.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 03.01.11, 20:49
  2. Antworten: 3
    Letzter Beitrag: 26.02.09, 14:04
  3. Variable in eine Datei schreiben?
    Von Katharina_ im Forum PHP
    Antworten: 3
    Letzter Beitrag: 18.06.05, 08:16
  4. XML in eine Variable schreiben
    Von Skourer im Forum PHP
    Antworten: 8
    Letzter Beitrag: 24.11.03, 15:36
  5. Antworten: 5
    Letzter Beitrag: 16.09.01, 17:47

Stichworte