c++getopenfilenamecomdlg32

How would one get a UTF-8/Unicode string from GetOpenFileName?


I'm developing an application in MinGW/C++ that uses Windows' common dialogs. The need has arisen to collect a file name that might have non-ASCII characters in it. Is there a flag or another option for retrieving a file name in Unicode, or preferably UTF-8?


Solution

  • Call GetOpenFileNameW. You can do this without converting your entire app to Unicode which may be the most expedient solution.

    Windows API comes in 2 flavours, ANSI and Unicode. The former has functions with an A suffix. The latter have a W suffix. You are currently using the former.