SHFILEOPSTRUCT
требует, чтобы pFrom
и pTo
были строки с двойным нулем в конце .
Строковый литерал, который вы присваиваете pFrom
, имеет встроенный \0
, поэтому строка заканчивается двойным нулем.
Когда вы вызываете wcscat_s
, встроенный \0
интерпретируется как конец строки для добавления, поэтому результирующая строка не заканчивается двойным нулем.
Как вы говорите в своем комментарии, вы можете сделать это (хотя вам нужна функция wcslen
):
wcscat_s(wcstring, L"\\*.*");
wcstring[wcslen(wcstring) + 1] = 0;