txt-Datei kopieren



  • Original erstellt von Peter Piksa:
    wenn dem so ist dann mach das doch einfach mit dem system("");
    in die gänsefüsschen setzt du dann einfach ms-dos befehle rein. wie zum beispiel xcopy. mit dem eine datei kopiert wird 🙂

    Sag mal großer Meister, du willst doch etwa nicht alle Nicht-DOS-Benutzer ausgrenzen, oder?

    system ist nicht nur lahm, sondern hat auch noch implementation definied behaviour!



  • system ist weder lahm, noch hat es implementierungsspezifisches Verhalten.
    Die Norm macht keine Angaben über die Geschwindigkeit von Funktionen (nicht mal C++ macht das ;)), zum anderen sehe ich nicht, was z.B. an 'system(0)' so implementierungsspezifisch ist; der Rückgabewert hängt von der Umgebung ab, aber das ist trotzdem kein implementierungsspezifisches Verhalten.

    Aber wieso sollte das nicht bei Binärdateien funktionieren?

    Diese Methode funktioniert allgemein nicht zuverlässig, unabhängig von Binärdateien: Auf Systemen bei denen der int-Bereich genau so groß wie der (unsigned) char-Bereich ist kann irgendein legales Zeichen die Bit-Repersentation für EOF (ein negativer Wert) erhalten. Die Schleife terminiert also, obwohl noch kein feof noch kein Ende und ferror noch keinen Fehler gefunden hat. Dieser Einwand ist aber IMHO an einigen Haaren herbeigezogen aber im Rahmen der ISO-Norm wäre ein solches System gültig.

    [ Dieser Beitrag wurde am 17.12.2002 um 17:02 Uhr von Daniel E. editiert. ]



  • Meine fresse - ich bin nichtmal 15 stunden in diesem thread nicht mehr gewesen und schon peil ich nichtsmehr! lol



  • Original erstellt von Daniel E.:
    [QB]...
    Diese Methode funktioniert allgemein nicht zuverlässig, unabhängig von Binärdateien: Auf Systemen bei denen der int-Bereich genau so groß wie der (unsigned) char-Bereich ist kann irgendein legales Zeichen die Bit-Repersentation für EOF (ein negativer Wert) erhalten. Die Schleife terminiert also, obwohl noch kein feof noch kein Ende und ferror noch keinen Fehler gefunden hat. Dieser Einwand ist aber IMHO an einigen Haaren herbeigezogen aber im Rahmen der ISO-Norm wäre ein solches System gültig. ...

    Auf einem solchen System kann diese Schleife abhilfe schaffen:

    while ( (ch=fgetc(quelldatei)) != EOF || !feof(quelldatei) ) fputc(ch,zieldatei);
    

    😉



  • Original erstellt von Peter Piksa:
    Meine fresse - ich bin nichtmal 15 stunden in diesem thread nicht mehr gewesen und schon peil ich nichtsmehr! lol

    was ist dir denn unklar??



  • Erklär mal bitte "Implementation defined behaviour", bzw was damit gemeint ist.



  • Original erstellt von <sg>:
    Erklär mal bitte "Implementation defined behaviour", bzw was damit gemeint ist.

    Im Standard und auch FinalDraft steht das drinnen!

    Implementation defined behavior heisst, dass der Standard nicht vorschreibt wie die Implementierung (also Compiler und Library) auf so etwas reagieren. Allerdings muss die Implementierung ihr verhalten diesbezüglich offen legen.

    zB system("dir") - das wird dir unter Unix nicht viel bringen!



  • Original erstellt von Bernd_K:
    **

    ...
    c:\lenny.mp3
    c:\
    ock.mp3ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ(das geht immer so weiter)
    ...
    

    **

    völlig logisch, dass du '\r' nicht in eine Textdatei schreiben kannst! das wird automatisch konvertiert (Carriage Return = Wagenrücklauf)
    auch wenns ne Textdatei ist, ists sicher kein fehler das File wie ne Binärdatei zu kopieren



  • Original erstellt von Shade Of Mine:
    was ist dir denn unklar??

    Hach alles halt....das ganze gelaber von euch...ich raff nüx lol



  • Original erstellt von Peter Piksa:
    das ganze gelaber von euch

    wenn es für dich 'gelaber' ist, solltest nochmal n paar Bücher lesen!!


Anmelden zum Antworten