fscanf



  • Hallo,
    ich möchte in eine Datei schreiben und anschließend wieder lesen:

    datei = fopen( "graphics.txt", "w" );
    fprintf(datei,"Test: 5");
    fclose(datei);

    datei = fopen( "graphics.txt", "r" );
    fscanf(datei," %i\n",&var);
    fclose(datei);

    es funktioniert soweit, nur wie kann ich mit sfcanf var dem Wert 5 zuweisen?
    Bei disem Beispiel ist var=0.
    Wie mache ich dem Compiler klar das ich eben das 7. Zeichen var zuweisen möchte.

    Wie kann ich es cleverer anstellen? z.B. die ganze Zeile als Zeichenkette einlesen.Dadurch wäre es möglich Fehler abzufangen, falls an der Datei was geändert wird. (z.b. ein zeichen hinzugefügt wird)

    danke schonmal

    m



  • Datei:

    test "5"
    irgendwas "6"
    

    So würde ich esrstmal die datei aufbauen.
    nun liest du die Datei zeilenweise ein. mit strtok() kannst du nun die zeichenfolge zerlegen. schau dazu am besten mal in der MSDN oder sonstigem nach.
    du zerschneidest die zeichenfolge dann wie folgt: anfang - " " ist die option und der wert in "" ist das was in die variable soll.

    um aus der zeichenfolge "55" den wert 55 zu bekommen schau dir mal atoi() an.

    hoffe das hilft dir erstmal weiter.

    Greetz
    THE_FreaK

    PS: es ist nicht möglich einen dateinamen "zu erstellen". du musst schon alle variablen bereit liegen haben (oder dynamisch erzeugen), aber du kannst über die datei keine var umbenennen.


Log in to reply