rename()



  • Ich habe vor eine Datei mittels der Funktion rename() um zu bennen. Meines wissens erwartet rename() dabei als Parameter den alten und den neuen Namen.
    zb. rename("c:\test\alt","c:\test\neu").
    Mein Problem ist jedoch das ich die Dateinamen/Pfade in einem String habe und wenn ich zb versuche rename(oldfilename,newfilename) bekomm ich Fehlermeldungen das diverse Datentypen nich konvertiert werden können (ok ist auch logisch^^). Wie kann ich das anders lösen?

    sieht bei mir im Moment so aus:

    string oldnamepfad="c:\\test\\"+dateinn;  //Pfad und Name der Datei
    string newnamepfad="c:\\test\\"+tempname; //Pfad und neuer Name der Datei
    
    rename(oldnamepfad,newnamepfad);   //Hier liegt das Problem
    //Fehler: error C2664: 'rename' : Konvertierung des Parameters 1 von 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' in 'const char *' nic
    ht moeglich
    

    Mfg



  • oldnamepfad.c_str()
    newnamepfad.c_str()



  • rename(oldnamepfad.c_str(),newnamepfad.c_str());
    

Anmelden zum Antworten