在调用GetWindowsDirectory时附加wstring时,Windows中的Exe崩溃

时间:2016-12-12 07:01:47

标签: c++ windows crash append wstring

我附加了wstring。我有" C:\ Windows"在wstring中。我正在追加" \ system32 \ config \"它。通过以下代码。

#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 个答案:

答案 0 :(得分:3)

当您通过c_str()将字符串写入字符串时,它不会自动增长。

因此,我们无法保证wstrWindowsDirectory足够大,可以包含您尝试写入的路径。

在致电wstring::reserve()之前,您需要使用GetWindowsDirectory()