Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problem mit löschen von Datei

Empfohlene Antworten

Veröffentlicht

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 von Klotzkopp
Code-Tags hinzugefügt

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.

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.

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 ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.