Windows中的exe在调用getWindowsDirectory时附加wstring时正在崩溃
Exe in Windows is crashing while appending wstring when calling GetWindowsDirectory
我正在附加wstring。我在WSTRING中有" C: Windows"。我正在将" 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.
当您通过c_str()
写入字符串时,它不会自动生长。
因此,无法保证wstrWindowsDirectory
足够大,可以包含您要写入其中的路径。
您需要在调用GetWindowsDirectory()
之前使用wstring::reserve()
。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 内联映射初始化的动态atexit析构函数崩溃
- 执行函数时导致崩溃的变量
- Ctypes wstring通过引用传递
- 程序崩溃并显示"std::out_of_range"错误
- CoInitialize()在单独的线程上崩溃而不返回
- 使用调试/崩溃报告将应用程序部署到客户端
- 为什么所有C++编译器都会崩溃或挂起此代码
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 为什么我的多线程作业队列崩溃
- ExtractIconEx:可以工作,但偶尔会崩溃
- 为什么引用传递会导致此崩溃(C++)
- 试图创建流或fopen时程序崩溃
- 类对象数组的问题会导致崩溃
- 排序时无法执行交换操作.我做的时候它会崩溃.为什么
- Windows中的exe在调用getWindowsDirectory时附加wstring时正在崩溃
- 火鸟在“UTF8 字符串转换为 wstring”时崩溃
- 如何在将NULL传递给std::wstring时防止运行时崩溃
- 将字符串转换为wstring时崩溃
- 使用std::wstring导致堆内存分配崩溃