Problem: Unicode Verwendung ( wstring )
-
Hi,
ich scheitere gerade an einer trivial aussehenden codestelle:
void FillSubs( wstring Path, Dir * Root ){ WIN32_FIND_DATA FindData; fill( (char*)&FindData, (char*)&FindData + sizeof(WIN32_FIND_DATA), 0 ); // Besagte stelle wstring Debug = ( ( Path + ( Root->DirName ) ) + TEXT("\\*") ); // ..
Path und DirName sind wstring objekte.
mein problem ist das wenn in Path und DirName etwas steht der letzte string in der operation ignoriert wird. ( man sieht die nutzlose verzweifelte klammerung )
normalerweise waren solche operationen nie ein problem, aber nun wo ich einmal UNICODE verwenden möchte sind sie es :x
( header definition )
#define UNICODE #include <windows.h> #include <iostream> #include <string> #include <vector> using namespace std;
-
das problem lag hier:
wstring File = wstring( FindData.cFileName, FindData.cFileName + MAX_PATH );
ich habe forciert das er den gesammten string, also auch die abschluss zeichen übernimmt. damit hat er bei der string addition immer nach dem 2tem aufgehört
wstring File = wstring( FindData.cFileName );
löst das ganze, war dämlich.. habs selbst grad erst bemerkt :x leider zu spät