Ich bin offensichtlich zu blöd aus einem std::wstring ein wchar_t* zu machen, aber ich sehe meinen eigenen Fehler nicht.
Darum sorry für die blöde Anfängerfrage, aber vielleicht hat Jemand Erbarmen mit mir?
wstring myoldname = L"D:\\Test\\oldfilename.txt";
wstring mynewname = L"D:\\Test\\newfilename.txt";
Laut MSDN muss ich einfach nur machen
_wrename( const wchar_t *oldname, const wchar_t *newname);
ergo muss ich "nur" wstring zu wchar_t konvertieren aber dabei stelle ich mich offensichtlich zu blöd an.
Was ich schon alles versucht habe erspare ich euch und mir selber auch, ist vermutlich einfach nur peinlich.
Nur ein Beispiel:
wchar_t oldname[myoldname.length()] = myoldname.c_str();
ergibt vom Compiler die Meldung "oldname may not be initialized" und der Befehl
int result = _wrename(oldname,newname);
gibt überhaupt nichts zurück, sondern crasht das Programm.
Darum sorry für die blöde Anfängerfrage, aber vielleicht hat Jemand Erbarmen mit mir?
wstring myoldname = L"D:\\Test\\oldfilename.txt";
wstring mynewname = L"D:\\Test\\newfilename.txt";
Laut MSDN muss ich einfach nur machen
_wrename( const wchar_t *oldname, const wchar_t *newname);
ergo muss ich "nur" wstring zu wchar_t konvertieren aber dabei stelle ich mich offensichtlich zu blöd an.
Was ich schon alles versucht habe erspare ich euch und mir selber auch, ist vermutlich einfach nur peinlich.
Nur ein Beispiel:
wchar_t oldname[myoldname.length()] = myoldname.c_str();
ergibt vom Compiler die Meldung "oldname may not be initialized" und der Befehl
int result = _wrename(oldname,newname);
gibt überhaupt nichts zurück, sondern crasht das Programm.
Zuletzt bearbeitet: