Variablen aus Datei



  • Eigendlich will ich in C programmieren...Nur ich weiß nicht was der Unterschied zwischen C++ und C ist 😞
    Könntet ihr mir trotzdem meine Frage beantworten?



  • War nicht böse gemeint, nur kamst du auf einmal mit einem Codestück aus C an, statt mit dem entsprechendem aus C++ wie es in der FAQ beschrieben ist. Das hatte mich ein wenig verwundert! Also wenn du das ganze in C programmieren willst, dann wirst du wohl ins ANSI C Forum verschoben, da kann man dir besser helfen!



  • Dieser Thread wurde von Moderator/in davie aus dem Forum C++ in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Kannst du bitte mal erklären was du eigentlich willst, und was in den einzelnen Dateien steht, bzw stehen soll?

    Die innerste Schleife ist etwas eigentartig,



  • Das Programm soll die Dateien Zeit.txt und Info.txt öffnen und den Inhalt in einer Variable speichern. In der Zeit.txt stehen die Sekunden und in der Info.txt ein Dateiname.

    Diese Schleife soll die Zeit bestimmen in der der Inhalt ausgeführt wird:

    for(a=n=time(0);a+z>n;n=time(0)); 
       { 
          putchar(z); 
       }
    


  • 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