c++ - wcscat_s function - buffer error -
the question simple: what's frong piece of code?
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");
it says buffer small on wcscat_s
you allocate new_buff
characters dir_path
(and tell wcscat_s
size), want append more characters it. need allocate new_buff
plus length of l"\\directory"
, tell wcscat_s
actual size.
Comments
Post a Comment