Dateien verschieben



  • fstream? Sollte gehen. Ob umständlich oder nicht, dass ist C++-File-Handling.
    Ich glaube direktes Verschieben geht nicht, aber Verschieben ist ja nichts anderes als Datei kopieren und Vorlage löschen. Aber bevor ich keine eigeninitiative sehe schreibe ich kein Stück Code.

    Code-Hacker



  • Code-Hacker schrieb:

    fstream? Sollte gehen. Ob umständlich oder nicht, dass ist C++-File-Handling.
    Ich glaube direktes Verschieben geht nicht, aber Verschieben ist ja nichts anderes als Datei kopieren und Vorlage löschen.

    Nee, das wäre zu langsam.

    Verschieben ist nur Umbenennen, und das geht mit std::rename.

    Wobei das nicht über verschiedene Geräte hinweg funktioniert, sprich bei verschiedenen Festplatten o.ä. muss man dann doch kopieren & löschen.



  • Direktes Verschieben können aber nicht alle Betriebssysteme.



  • Stimmt, bei rename kann man gleich einen neuen Pfad angeben, für die neue Datei. frage hat sich erledigt!

    Code-Hacker



  • Tut mir leid aber ich bin gerade erst dabei es zu lernen. Deshalb frage ich hier auch nach. Aber um meine frage besser zu beschreiben:
    Es geht nur um eine Textdatei und ich habe dafür schon etwas geschrieben. Ich weis das ich net gut bin!!!! 😞
    Ich wollte nur noch fragen wie man das besser machen kann.

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    #include <stdio.h>
    #include <conio.h>
    //---------------------------------------------------------------------------
    
    #pragma argsused
    int main(int argc, char* argv[])
    {
      FILE *datei1,*datei2;
      char hilf;
      datei1=fopen("test.txt","r");
      if(datei1 != NULL)
      {
         datei2 = fopen("test2.txt","w");
         hilf = fgetc(datei1);
         while(!feof(datei1))
         {
           fputc(hilf,datei2);
           hilf = fgetc(datei1);
         }
         fclose(datei1);
         fclose(datei2);
         printf("Kopieren erfolgreich");
      }
      else
      {
        printf("Datei konnte nicht gelesen werden");
      }
      getch();
    }
    //---------------------------------------------------------------------------
    


  • Ich denke das passt besser in das C Forum.

    Code-Hacker



  • Ich will den code dann halt noch auf ne grafische oberfläche umsetzen aber im grundsatz beibehalten oder weis jemand ne bessere möglichkeit mit der ich apäter auch andere Dateitypen kopieren kann?



  • zum kopieren von dateien nimmst du am besten fread/fwrite (die
    dateien mit "rb" statt "r" bzw. "wb" statt "w" oeffnen).
    damit kannst du das kopieren in bloecken erledigen, was wohl besser ist
    als einzelne zeichen zu kopieren.



  • In meinem Praktikum hatte ich dafür mal nen fertigen Algorithmus im Kylix 3 Entwicklerhandbuch stehen.
    Was das Beibehalten betrifft, so geht das auf jedenfall. Das kommt in eine Funktion und dann hat sich die Sache. Die Funktion wird, wenn sagen wir mal ein Button namens "Kopieren" angeklickt wird, aufgerufen und dann wird einfach die angegebene Datei kopiert. Musst halt nur noch den Pfad und Dateinamen angeben der kopiert werden soll, aber das sollte nicht das Problem sein.

    Code-Hacker



  • Mir fehlt nur noch eine Kleinigkeit.
    Wisst ihr was für ein datentyp das ist: ÿ

    Das auszulesen funktioniert mit der methode net.


Anmelden zum Antworten