Variablen aus Datei



  • Besser wärs, wenn du zuerst deine zwei Werte einliest (schöner wärs auch noch, wenn du beides in eine Datei schreibst, vorausgesetzt es ist nicht anders vorgesehen):

    FILE *fp;
    char buffer[50];
    char dateiname[50] = "standard.dat";
    unsigned int zeit = 0;
    
    //Datei info.txt öffnen
    fp = fopen("info.txt", "r");
    if(fp)
    {
       //einzige Zeile in Datei lesen
       if(fgets(buffer, sizeof(buffer), fp))
       {
          strcpy(dateiname, buffer);
       }
    
       //Datei schließen
       fclose(fp);
    }
    else
    {
       //Fehler
       printf("Datei info.txt konnte nicht geöffnet werden!");
       return(1);
    }
    
    fp = fopen("zeit.txt", "r");
    if(fp)
    {
       fscanf(fp, "%ud", &zeit);
    
       fclose(fp);
    }
    else
    {
       //Fehler
       printf("Datei zeit.txt konnte nicht geöffnet werden!");
       return(1);
    }
    

    So danach hast du deinen Dateinamen in dateiname stehen und deine Zeit in Sekunden in zeit. Jetzt stellt sich noch die Frage was du genau mit den beiden Werten machen willst 😕



  • AJ schrieb:

    schöner wärs auch noch, wenn du beides in eine Datei schreibst, vorausgesetzt es ist nicht anders vorgesehen

    Ich weiß das das schöner wäre aber als Anfänger weiß ich nicht wie das geht 😞

    AJ schrieb:

    Jetzt stellt sich noch die Frage was du genau mit den beiden Werten machen willst

    Eine Datei soll alle XX Sekunden geöffnet werden.

    Wie bekommt man die Fehlermeldung weg?

    18 C:\Dev-Cpp\Timer\main.cpp
    `strcpy' undeclared (first use this function)
    


  • Plutonium schrieb:

    Eine Datei soll alle XX Sekunden geöffnet werden.

    Wie bekommt man die Fehlermeldung weg?

    18 C:\Dev-Cpp\Timer\main.cpp
    `strcpy' undeclared (first use this function)
    

    Abgesehen davon, daß sich mir der Sinn dieses Unterfangens (alle x Sekunden eine Datei zu öffen, unabhängig davon, was in der Zwischenzeit passiert ist [wahrscheinlich willst Du ja eh nur Nachsehen, ob sich was verändert hat, oder? Dafür gibt es einfachere, aber systemspezifische Lösungen.]) noch nicht ganz erschloßen hat: #include <string.h>



  • Plutonium schrieb:

    AJ schrieb:

    schöner wärs auch noch, wenn du beides in eine Datei schreibst, vorausgesetzt es ist nicht anders vorgesehen

    Ich weiß das das schöner wäre aber als Anfänger weiß ich nicht wie das geht 😞

    Soll auch kein Vorwurf sein. Wir waren alle mal Anfänger ;).
    Wenn du die beiden Werte in nur eine Datei packst, tust du dich leichter. Schreib einfach den ersten Wert in die erste Zeile und den zweiten Wert in die zweite. Dann brauchst du auch nur eine Datei öffnen und musst dann hald zweimal fgets() aufrufen und die Werte in deine Variablen schaufeln. Probiers einfach mal aus ;).

    Erklär mal genau was du eigentlich vor hast. Was ist dein Ziel mit dem Programm?



  • AJ schrieb:

    Erklär mal genau was du eigentlich vor hast. Was ist dein Ziel mit dem Programm?

    Wie schon gesagt: Das Programm soll eine bestimmte Datei alle XX Sekuden aufrufen damit z.B. ein Programm alle XX Sekuden ausgeführt wird...



  • Bisher weiß ich nur:

    1. info.txt enthält einen Dateinamen bzw. den Pfad einer Datei
    2. zeit.txt enthält die Zeit in Sekunden in denen die obige Datei ausgeführt werden soll

    So jetzt meine Fragen:

    1. Ist die Datei in info.txt immer eine ausführbare Datei (z. B. .exe)?
    2. Soll die Datei in info.txt einfach nur ausgeführt werden oder soll da noch mehr damit gemacht werden? Z. B. Ergebnis auswerten, Inhalt lesen, ...

    Edit: Ein paar Fragen haben sich schon von allein erledigt.



  • AJ schrieb:

    1. Ist die Datei in info.txt immer eine ausführbare Datei (z. B. .exe)?

    Die info.txt enhält eine .php oder eine .exe

    AJ schrieb:

    2. Soll die Datei in info.txt einfach nur ausgeführt werden oder soll da noch mehr damit gemacht werden? Z. B. Ergebnis auswerten, Inhalt lesen, ...

    Sie soll einfach nur ausgeführ werden



  • Hmmm, da wiederspricht sich aber dann Antwort 1 mit Antwort 2. PHP-Dateien müssen durch einen Interpreter gejagt werden, die anderen können einfach ausgeführt werden.

    So und nun stellt sich wieder die Frage, was bezweckst du eigentlich mit dem Programm? Handelt es sich um ein CGI?? Soll die Ausgabe an den Browser übergeben werden?



  • Das Programm macht ein Backup von meiner MySQL-Datenbank.

    da wiederspricht sich aber dann Antwort 1 mit Antwort 2

    Ja aber eigendlich müssen es nur PHP-Dateien sein 🙂



  • Gut dann musst du nur noch den PHP-Interpreter mit der Datei als Parameter aufrufen.


Anmelden zum Antworten