kirchi123 Geschrieben 24. Juni 2008 Geschrieben 24. Juni 2008 (bearbeitet) Ich hab jetzt ein Programm fertig, dass 2 Dateinen als Parameter einließt. Dann wird die 1. Datei an die 2. Datei anhängt. Jetzt möcht ich noch das danach die 1. Datei gelöscht wird, aber es funktioniert noch nicht. Das anhängen funktioniert einwandfrei, aber das löschen funktioniert nicht. Ich hab das mit der Funktion remove machen, könnte mir das jemand vielleicht helfen. Der Code lautet: #include <stdio.h> #include <iostream> using namespace std; char *err; void usage() { fprintf(stdout, "Bitte 2 Dateinamen als Parameter eingeben.\n"); return; } void error (char *errorMessage) { fprintf(stdout, errorMessage); exit(1); } int main(int argc, char **argv) { char c; FILE *quellDatei; FILE *zielDatei; if (argc != 3) usage(); quellDatei = fopen(argv[1], "r"); if(quellDatei == NULL) { cout << "Konnte Quelldatei nicht oeffnen"; return -1; } zielDatei = fopen(argv[2], "a"); if(zielDatei == NULL) { cout << "Konnte Zieldatei nicht oeffnen" ; return -1; } while( fscanf(quellDatei, "%c", &c) != EOF) { fprintf(zielDatei, "%c",c); } fclose(quellDatei); fclose(zielDatei); int remove (const char *argv[1]); } Die remove Funktion ist ganz unten. Was könnte da falsch sein. Es kommt keine Fehlermeldung, dass löschen wird einfach nicht gemacht. Vielen Dank im Vorraus. Bearbeitet 25. Juni 2008 von Klotzkopp Code-Tags hinzugefügt Zitieren
Wodar Hospur Geschrieben 24. Juni 2008 Geschrieben 24. Juni 2008 Deiner Remove Funktion fehlt einfach jeglicher Inhalt, entweder du hast vergessen was anzuhängen oder aber einfach keine Idee. Hier macht es übrigens einen Unterschied unter welchem System (Windows/Unix/...) das Programm laufen soll. Zitieren
kirchi123 Geschrieben 24. Juni 2008 Autor Geschrieben 24. Juni 2008 Ich hab einfach keine Idee wie die Funktion lauten sollte. Deshalb steht da nur das. Das Programm sollte unter UNIX laufen. Vielleicht kann mir ja jemand helfen. Vielen Dank im Vorraus. Zitieren
Klotzkopp Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Deiner Remove Funktion fehlt einfach jeglicher Inhalt, entweder du hast vergessen was anzuhängen oder aber einfach keine Idee. Hier macht es übrigens einen Unterschied unter welchem System (Windows/Unix/...) das Programm laufen soll.Es ist nicht "seine" Remove-Funktion. Remove ist eine Standardfunktion, wenn auch nicht sonderlich bekannt. Deswegen hängt das auch nicht vom Betriebssystem ab. Ich hab einfach keine Idee wie die Funktion lauten sollte. Deshalb steht da nur das.Das Problem ist, dass das, was du da hingeschrieben hast, eine Funktionsdeklaration ist. Du willst an dieser Stelle die Funktion aber aufrufen, das sieht anders aus: int result = remove( argv[1] ); Das ist ein Funktionsaufruf. Ist doch dasselbe wie bei fopen usw. Vielen Dank im Vorraus.Es tut mir jedesmal weh, wenn ich das lesen muss. Könntest du das zweite R weglassen? Danke Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.