Problem string nach LPCWSTR
-
was spricht dagegen, einfach std::wstring zu nutzen? also anstelle da selbst mit typedef hand anzulegen? Und sonnst mach dir doch, wenn de schon bei typedef bist lieber ne TCHAR Version ...
-
(D)Evil schrieb:
was spricht dagegen, einfach std::wstring zu nutzen? also anstelle da selbst mit typedef hand anzulegen? Und sonnst mach dir doch, wenn de schon bei typedef bist lieber ne TCHAR Version ...
War mir nicht sicher ob es überhaupt std::wstring gibt. Wenn das der Fall ist gehört mein typedef natürlich ersetzt.
TCHAR-Version wär nett, dann aber bitte auch gleich noch mit defines für tcout und tcin.
MfG SideWinder
-
ich blicke nicht mehr ganz durch soll ich jetzt alle string durch wstring ersetzen?? ich benutze eine eigene Funktion zum auslesen:
wstring MyReadFile(void) { wstring test ; ifstream in("C:\\test.dat"); char c; while(!in.eof()) { ch=in.get(); test += c ; } return test; }ist dies so richtig?? (glaube nicht)
-
nee muss nen wistream sein ... und dann nen wchar_t anstelle eines chars ... dann sollte das gehen ...
-
Also so:
wstring MyReadFile(void) { wstring test ; wifstream in("C:\\test.dat"); wchar_t c; while(!in.eof()) { ch=in.get(); test += c ; } return test; }
-
naja wenn de jedes Zeichen einzeln lesen willst ... jop.
std::wstring read_file(const std::string& filename) { std::wifstream in_stream(filename.c_str(), std::ios::in); std::wstring string_content; if (!in_stream) return string_content: while (in_stream.eof() == false) string_content += in_stream.get(); return string_content; }?
-
aber das Problem scheint damit leider nicht gelöst ich bekomme beim kompilieren immer noch ne Reklammation das ich keinen LPCWSTR habe oder hinbekomme.
-
std::wstring mystr; DeineWinApiFunc(mystr.c_str());Sollte klappen...
MfG SideWinder
-
std::wstring read_file(const std::string& filename) { std::wifstream in_stream(filename.c_str(), std::ios::in); std::wstring string_content; if (!in_stream) return string_content: while (in_stream.eof() == false) string_content += in_stream.get(); return string_content; } // ... // Window Procedure // WM_PAINT // ... std::wstring filecontent = read_file("Test.cpp"); TextOut(hDC, 10, 10, filecontent.c_str(), filecontent.length()); // ...Wo ist das Problem?
-
Danke hatte das .c_str(), vergessen aber ist es normal das bei TextOut keine Zeilenumbrüche dargestellt werden??
-
Das liegt daran, das du einfach falsch ans Auslesen der Datei ran gegangen bist ... ließ zeilenweise ein ... dann hast du das Problem nicht => std::getline ...