CWSTR
- использует 2 байта для каждого символа (WCHAR
)
CSTR
- использует 1 байт для символа (CHAR
)
Выполняя приведение куказатель, он будет ссылаться на CSTR как CWSTR, это приведет к появлению тарабарщины вместо пути к файлу.Вы можете попытаться распечатать результат (LPCWSTR)strFile
на консоли, он покажет вам, что я имею в виду.
На самом деле вам нужно будет преобразовать значения, а не просто навести указатели.
Вам потребуется использовать функцию mbstowcs_s
для преобразования значений.
Вы можетеУзнайте больше о преобразовании типов в этой статье:
Дополнительно, вы никогда не должны использовать приведение в стиле c в c ++.Используйте соответствующий состав или комбинацию, например.static_cast
.