File Operation akzeptiert kein std::string.c_str() für Pfadangabe...



  • Hallo zusammen!

    Ich habe folgenden code:

    //srcFolder ist ein std::string
    
    string copyTo= (string)getenv("SYSTEMDRIVE");
    copyTo+="\\temp\\oltb";
    srcFolder+="";
    SHFILEOPSTRUCT fop;
    ZeroMemory(&fop,sizeof(fop));
    fop.hwnd=	  NULL;
    fop.wFunc=  FO_COPY;
    fop.pFrom=  srcFolder.c_str();
    fop.pTo=	copyTo.c_str();
    fop.fFlags=  FOF_NOCONFIRMATION  | FOF_MULTIDESTFILES | FOF_NOCONFIRMMKDIR;
    fop.hNameMappings=  NULL;
    fop.lpszProgressTitle=  NULL;	
    
    SHFileOperation(&fop);
    

    Er akzeptiert einfach nicht diesen srcFolder String! würde ich den Pfad einfach von Hand im Quellcode angeben, also

    fop.pFrom=  "C:\\Pfad";
    

    würde er den Kopiervorgang problemlos durchführen.

    So meckert er aber immer, der Pfad sei ungültig.

    Erkennt jemand den Fehler?

    Gruß veryxRV



  • copyTo += '\0';
    


  • Aaah hatte mir schon sowas in der Art gedacht. Danke! 🙂


Anmelden zum Antworten