Char- und Strings-Problem



  • Hallo nochmal,

    ich möchte zu einem

    BYTE tmp[256]
    

    in dem ca. 20 Plätze sinnvoll belegt sind einen String dazuaddieren und diesen String dann benutzen um mit RENAME ein File umzubenennen.

    Ich mache das also so:

    Temporäres Hilfsarray und String anlegen:

    char tmp[256];
    string Programmpfad="";
    

    Daten aus dem BYTE tmp[256] rüberkopieren

    for (int k=0;k<Pfadlaenge-1;k++)
    {
         tmp[k] = eingelesen[k];
    }
    

    Jetzt kopiere ich mir das Ganze im String zusammen:

    Programmpfad = Programmpfad + tmp;
    Programmpfad.erase(Pfadlaenge-1,300);       
    Programmpfad = Programmpfad + "\\classes\\font";
    
    string Dice = Programmpfad + "\\dice.ttf";
    string Dice_ren = Programmpfad + "\\dice.tmp";
    

    In DICE steht jetzt ca. das: c:\tmp\classes\font\dice.ttf

    und jetzt möchte ich dieses TTF durch ein TMP ersetzen:

    rename (Dice,Dice_ren);
    

    und da meldet er jetzt:
    class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' kann nicht in 'char []' konvertiert werden
    und ich weiß nicht weiter 😞

    Wenn mir irgendjemand helfen kann bzw. weiß wie das Ganze einfacher geht wäre ich echt dankbar !

    Gute Nacht !



  • wenn es sich um das std::rename für dateinamen handelt, dann bekommt die funktion als paramater const char* und keinen std::string.
    diesen konvertierungsfehler kannst du verhindern indem du

    rename (Dice.c_str(),Dice_ren.c_str());
    

    benutzt.
    Vll war das ja schon der Fehler.



  • danke, das klappt mit der Konvertierung !


Anmelden zum Antworten