Genie: C++: Dateien verschieben

Beitrag lesen

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 argument 1' to BOOL MoveFileA(const CHAR*, const CHAR*)'

Was soll das heißen und wie kann man es beheben?

mfg
Genie