wcscat_s函数-缓冲区错误
wcscat_s function - buffer error
问题很简单:这段代码的frong是什么?
size_t buff = 1;
size_t new_buff;
WCHAR *var_path;
WCHAR *dir_path;
var_path = new WCHAR[buff];
new_buff = GetEnvironmentVariableW(L"APPDATA", var_path, buff);
if (new_buff == 0) {
return 1;
} else if (new_buff > buff) {
delete[] var_path;
var_path = new WCHAR[new_buff];
GetEnvironmentVariableW(L"APPDATA", var_path, new_buff);
}
dir_path = new WCHAR[new_buff];
wcscpy_s(dir_path, new_buff, var_path);
wcscat_s(dir_path, new_buff, L"\directory");
它说wcscat_s
上的缓冲区太小
您只为dir_path
分配new_buff
个字符(并告诉wcscat_s
该大小),然后您想向其添加更多字符。您需要分配new_buff
加上L"\directory"
的长度,并告诉wcscat_s
实际大小。
相关文章:
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 使用 strcat 获取缓冲区溢出错误
- 将缓冲区复制到剪贴板 [换行错误]
- openCL-创建子缓冲区返回错误代码13
- 为什么我遇到缓冲区错误?
- 导致堆缓冲区错误的动态分配数组的析构函数
- 协议缓冲区错误版本
- coreValidation-drawState-Invalidimagelayout错误上的命令缓冲区错误
- 阴影贴图.帧缓冲区错误36060
- zlib 膨胀返回缓冲区错误
- 输入缓冲区错误或其他原因
- wcscat_s函数-缓冲区错误
- c++: Std::cout缓冲区错误?对字符串变量和字符串字面值使用std::cout导致输出混乱
- 插入耳机时音频缓冲区错误
- 谷歌协议缓冲区.c++错误:' google '没有被声明
- Gsv::缓冲区错误
- Winsocket resv缓冲区错误
- Directx 11常量缓冲区错误
- 创建顶点缓冲区错误