C++ Datei kopieren
-
Hi, ich hab hier eine kleine Funktion zum kopieren von Daten, aber dabei werden leider nicht die Dateiattribute wie "versteckt" oder ähnliches kopiert... wie kann man diese Sachen machen ?
long CopyData(string Input, string Output, long BufferSize) { char *Buffer; long DataSize = 0; long CopyStatus = 0; long MainBufferSize = 0; ifstream infile(Input.c_str(),ifstream::binary); if(infile.is_open() == false) return -1; ofstream outfile(Output.c_str(),ifstream::binary); if(outfile.is_open() == false) return -2; infile.seekg(0,ifstream::end); DataSize = infile.tellg(); infile.seekg(0, ifstream::beg); Buffer = new char[BufferSize]; MainBufferSize = BufferSize; /* Datei kopieren */ while(!infile.eof()) { /* Binärdaten auslesen */ CopyStatus += BufferSize; if(CopyStatus > DataSize) { MainBufferSize = BufferSize - (CopyStatus - DataSize); } else { MainBufferSize = BufferSize; } infile.read (Buffer, MainBufferSize); /* Binärdaten wieder schreiben */ outfile.write (Buffer, MainBufferSize); } /* Aufräumen */ delete[] Buffer; infile.close(); outfile.close(); return DataSize; }So, wenn ich also einen versteckte Datei z.B. kopiere, dann ist diese nach der Funktion zwar funktions bereit, aber nicht mehr versteckt..

Gruß Chris
-
Hallo,
Dateiattribute sind Dateisystemabhängig und damit außerhalb von Standard-C++. Welches BS verwendest du?
-
Hi, hat sich durch einen anderen Thread erledigt :), ich benutze Win XP, und regel das nun mit GetFileAttributes und SetFileAttributes
danke !