Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » dateien kopieren (ohne console)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.06.2003, 10:32 Uhr
peterpeter



Hallo,
ich bin gerade dabei ein Programm zu schreiben um Dateien zu kopieren.

Sachlage: Ich habe ein Wechsellaufwerk in dem sich ein Ordner befindet. In diesem Ordner ist eine unbestimmte anzahl von Datein. Diese sollen in einen anderen Ordner verschoben/kopiert werden.

Was ich habe: Im Moment löse ich das ganze mit dem "system();" befehl. Das kopiere ich dann mit "*.*". Aber beim kopieren öffnet sich dann eine Console. Un dat will ich aber net.....

Was ich haben will: Einmal einen lösungsvorschlag, der dateien verschiebt und einen der dateien kopiert!!

tHx ciao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.06.2003, 13:33 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Problem dabei ist das das Betriebssystem abhängig ist, wenn du die verzeichnisse erst noch erstellen willst.
Wenn die verzeichnisse existieren gibt es ne ansi-c lösung

kopieren geht z.b: so:
www.fun-soft.de/index.php?file=/forum/showtopic.php?threadid=2309

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.06.2003, 13:47 Uhr
~0xdeadbeef
Gast


Ich würd sowas machen:

C++:
int fcopy(const char *from_name, const char *to_name) {
    FILE *from, *to;
    char buf[1024]; /* wir schreiben Kilobyteweise */
    int len;

    if((from = fopen(from_name, "r")) == NULL)
        return -1;
    if((to = fopen(to_name, "w")) == NULL) {
        fclose(from);
        return -1;
    }

    while(!feof(from)) {
        len = fread(buf, sizeof(char), 1024, from);
        if((len <= 0 && !feof(from)) || fwrite(buf, sizeof(char), len, to) <= 0) { /* Fehler */
            fclose(from);
            fclose(to);
            return -1;
        }
    }

    fclose(from);
    fclose(to);

    return 0;        
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.06.2003, 13:50 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Hi beefy,
ich hatte bisher immer damit problem wenn ich fopen nur mit r bzw. nur mit w benutzt habe dann ist der mir bei ascii-zeichen(weiss gar nicht mehr ob das 20 oder 0x20 war) immer abgeschmiert. wb bzw rb lössten dieses Problem weisst du warum?

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.06.2003, 14:13 Uhr
~0xdeadbeef
Gast


Da müsste ich jetzt ins Blaue schiessen. Meine Vermutung wäre, dass die Windows-Dateisysteme zwischen ASCII- und Binary-Mode unterscheiden, so ähnlich wie ftp, und dass Windows (In Abweichung vom Standard) "rb" als Anweisung nimmt, in den binary mode zu wechseln.

Ich geh jetzt mal ganz dreist davon aus, dass du Windows benutzt, weil Linux das nicht macht und andere Betriebssysteme eher selten sind.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
15.06.2003, 14:20 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@beefy
genau ich bin der pure windoofs-user und ich habe auch nichts gegen Bill Gates oder Cookies
Was für nen nachteil hat denn das binary mode. Wenn's keinen hat dann werd ich das lieber immer nehmen

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
15.06.2003, 14:31 Uhr
~0xdeadbeef
Gast


wie gesagt, ich schieß hier nur ins Blaue. Was den Unterschied zwischen ASCII und binary FTP angeht - ASCII überträgt 7 bit pro character. Das macht es schneller, aber unbrauchbar, um Dateien zu übertragen, die Zeichen enthalten, die das achte Bit gesetzt haben - und die findest du in ungefähr allen executables, libraries und sonstigem Kram.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
15.06.2003, 14:47 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@beefy
Ok danke
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: