2016-12-12 12 views
0

wstringを追加しています。私はwstringで "C:\ Windows"を持っています。そして私はそれに "\ system32 \ config \"を追加しています。コードに従ってGetWindowsDirectoryを呼び出すときにwstringを追加している間に、WindowsのExeがクラッシュする

#define MAX_PATH 260 
wstring wstrWindowsDirectory; 
    if(0 != GetWindowsDirectory((LPWSTR)wstrWindowsDirectory.c_str(),MAX_PATH)) 
    { 
     if(!wstrWindowsDirectory.empty()) { 
      wstrWindowsDirectory += L"\System32\\config\\"; 
     } 
} 

But its crashing.. 
please help me.. 
Thanks in advance. 
+1

'wstring'は' const char * '配列なので、手作業で十分な長さを割り当てる必要があります。 – Dia

答えて

3

c_str()で文字列に書き込むと、自動的には伸びません。

したがって、wstrWindowsDirectoryが書き込みしようとしているパスを格納するのに十分な大きさであるという保証はありません。

GetWindowsDirectory()を呼び出す前にwstring::reserve()を使用する必要があります。

関連する問題