Probleme mit fprintf()



  • Ich habe ein Programm welches mir Dateien konvertiert und mir nur leider bisher nur auf dem Bildschirm ausgibt.
    Nun möchte ich das ganze mit fprintf in einer Datei abspeichern.
    Bekomme aber nur seltsame Fehlermeldungen raus, kann mir da jemand helfen?

    FILE *f = fopen(filename,  "rb");
                        	if (f) {
                         		DEA_ARCHIV_TYP DEARecord;
                           		while(!feof(f)) {
                             			fread(&DEARecord, sizeof(DEARecord), 1, f);
                                			struct tm stm = *localtime(&DEARecord.Startzeit);
                               			    FILE *d = fopen("*.txt", "w");
                                   			fprintf("%02d.%02d.%04d %02d:%02d.%02d,%03d : ", stm.tm_mday
                                      				, stm.tm_mon
                                      				, stm.tm_year + 1900
                                      				, stm.tm_hour
    				                                 , stm.tm_min
    		                                       , stm.tm_sec
    
    				                                , DEARecord.Millisec > 0 ? DEARecord.Millisec : 0);
    
                                             fprintf("DEARecord: Zustand = %d, Kennung = %d, Grund = %c\n", DEARecord.Wert.Zustand
                                             , DEARecord.Kennung
                                             , DEARecord.Grund);
    
    		                               }
    
                                     fclose(f);
                                     //fclose(d);
                                     }
    

    Fehler:

    error: cannot convert `const char*' to `FILE*' for argument `1' to `int fprintf(FILE*, const char*, ...)'



  • Schau mal hier, da hatte einer ein ähnliches Problem, und eine Antwort bekommen.

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-197578-and-highlight-is-.html



  • MFK schrieb:

    Schau mal hier, da hatte einer ein ähnliches Problem, und eine Antwort bekommen.

    Nicht "einer" - er selber 😃



  • So eine Formatierung verdient den Tod.



  • Oh, danke, fühle mich geschmeichelt!!
    Warum?



  • bei Sprintf lautet die formatierung

    sprintf(char* zielstring, char* formatstring, parm1, pram2,...);

    kann sein das da noch consts dazwischen gehören aber ich bitte mir das nachzusehen

    EDIT

    das programm wird dir aber tüchtig in die suppe spucken sobald du mal in nem falschen ordner arbeitest oder schreibschutz drinn hast weil du keinerlei fehlerkontrolle nach deinem fopen hast

    EDIT 2 ich hör jetzt besser auf genau hinzusehen, da bekommt man wahrlich das gruseln ... bist du dir mit dem quellauszug sicher ? ich meine nur
    "*.txt" ist sicherlich kein gültiger dateiname



  • Ähh sicher bin ich mir bei nichts...
    Ich bin ein absolut blutiger Anfänger!
    Ich evrsuche hier nur ein Programm für meine Praxissemesteraufgabe hinzubiegen. eigentlich ist das nur ein Teil der Aufgabe aber ich hänge da jetzt schon ewig vor...

    Das '*.txt' ist noch von nem Versuch übriggeblieben eine Vorhandene Datei (aus filestream) mit ner anderen Endung zu versehen...



  • ja tut mir leid, falls da irgendwelche feindseligkeiten eingesickert sind, ich hatte noch kein kaffee als ich das geschriebe habe und bin leideschaftlicher morgenmuffel :p

    aber so wie es aussieht wurde dein problem in dem anderen topic schon gelöst, und zu deiner Quelltextformatierung

    einschübe mach ich z.B. nur bei einem block der von geschweiften klammern umgeben ist oder wenn ich die parameterliste einer methode umbreche, aber du hast ja fast jede zeile eingerückt :p

    ich würd vorschlagen wir machen hier ein close @mods und verweisen auf den anderen topic, glaube das macht dort mehr sinn _



  • Is ok, keinen Kaffee geht auch gar nicht 😉
    Danke für die Tipps


Anmelden zum Antworten