tinyfiledialogs offers many modal dialogs and popup notifications (both for graphic and console modes). It is a cross-platform single C/C++ file (+ header) to add to your C or C++ project. It aims to be extremely easy to use, has no init, no main loop, and no external dependencies. It is used by hundreds of projects on GitHub and of course, I am the author. Get it here: http://tinyfiledialogs.sourceforge.net
Usage example:
// there is also a wchar_t version
char const * selection = tinyfd_openFileDialog(
"Select file", // title
"C:\\", // optional initial directory
2, // number of filter patterns
lFilterPatterns, // char const * lFilterPatterns[2] = { "*.txt", "*.jpg" };
NULL, // optional filter description
0 // forbids multiple selections
);
tinyfiledialogs handles char strings as UTF-8 (on windows and on unix). On Windows, It also offers UTF-16 / wchar_t functions.
*** v3.10 (2023): NEW FORTRAN module fully implemented with examples ***
*** v3.13 (2023): NEW PASCAL unit fully implemented with examples ***
*** v3.14 (2023): NEW R inteface fully implemented with examples ***