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 durename (Dice.c_str(),Dice_ren.c_str());benutzt.
Vll war das ja schon der Fehler.
-
danke, das klappt mit der Konvertierung !