Hi
Für welche Betriebssysteme schreibst du? Wenn es mehrere sind, musst du halt für jedes einen eigenen Code erstellen. Unter Windows kannst du die Kombination FindFirstFile/FindNextFile/FindClose/MoveFile verwenden.
Ich wollte mich als Anfänger auf Windows beschränken. Habe jetzt folgendes aus dem Internet rausgeholt und umgewandelt:
bool verschieben(string von, string zu)
{
string name = von + "*";
HANDLE fHandle;
WIN32_FIND_DATA wfd;
fHandle=FindFirstFile(name.c_str(),&wfd);
do
{
if (!( (wfd.cFileName[0]=='.') && ( (wfd.cFileName[1]=='.' && wfd.cFileName[2]==0) || wfd.cFileName[1]==0 ) ))
{
if(!MoveFile(von + wfd.cFileName, zu + wfd.cFileName)) // hier ist der Fehler
return false;
}
}
while (FindNextFile(fHandle,&wfd));
FindClose(fHandle);
return true;
}
In der Zeile
if(!MoveFile(von + wfd.cFileName, zu + wfd.cFileName))
meldet er mir:
<Zeile> <Datei.cpp> cannot convert
std::basic\_string<char, std::char\_traits<char>, std::allocator<char> >' to
const CHAR*' for argument1' to
BOOL MoveFileA(const CHAR*, const CHAR*)'
Was soll das heißen und wie kann man es beheben?
mfg
Genie