Is it possible to use Windows API ANSI functions with UTF-8 strings?
For example, say I have a path encoded in UTF-8. Can I call CreateDirectoryA
or CreateFileA
and use a UTF-8 path, or do I have to perform some conversion before calling the functions?
No. Use
MultiByteToWideChar
to convert UTF-8 to UTF-16 and then call the wide character APIs such asCreateDirectoryW
orCreateFileW
.