Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在c++;?_C++_Imgui - Fatal编程技术网

C++ 如何在c++;?

C++ 如何在c++;?,c++,imgui,C++,Imgui,我正在用ImGUI制作一个应用程序来选择图片。所以我需要调用“OPENFILENAME”来调用对话框窗口,下面是我的代码: OPENFILENAME ofn; ::memset(&ofn, 0, sizeof(ofn)); TCHAR f1[MAX_PATH]; f1[0] = 0; ofn.lStructSize = sizeof(ofn); ofn.nFilterIndex = 2; ofn.nMaxFile = MAX_PATH; ofn.lpstrFile = f1; ofn.F

我正在用ImGUI制作一个应用程序来选择图片。所以我需要调用“OPENFILENAME”来调用对话框窗口,下面是我的代码:

OPENFILENAME ofn;
::memset(&ofn, 0, sizeof(ofn));
TCHAR f1[MAX_PATH];
f1[0] = 0;
ofn.lStructSize = sizeof(ofn);
ofn.nFilterIndex = 2;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrFile = f1;
ofn.Flags = OFN_FILEMUSTEXIST;
if (::GetOpenFileName(&ofn) != FALSE)
{
    show_path = TRUE;
}
但是稍后我需要一个到image的路径,我在
char
类型中选择了它,
lpstrFile
THCAR
类型。我找到了任何可以把
THCAR
变成
char
的东西。
我是否以正确的方式选择了文件,如果是,我如何以通常的字符格式获得文件路径

你现在到底有什么问题?获取路径或从TCHAR转换为char字符串?顺便说一句,您用
imgui
标记了它,该框架不提供查询用户路径的方法吗?无论如何,作为一个新用户,请接受并阅读。@UlrichEckhardt实际上我的问题是如何选择文件并以字符串格式获取它的路径。因为我认为我写的一种方式可能是错误的。ImGUI没有提供实现这一点的方法,所以我需要使用一些系统内置的功能。好的,那就先离开一步,在常规项目之外解决这个问题,不使用ImGUI,然后集成它。你可以使用上面的方法从操作系统获得这个结果,只是你不使用TCHAR变量,而是使用WCHAR变量(即
GetOpenFileNameW()
,搜索示例)。请注意,任何使用TCHAR的代码都应该被认为是可传递的代码,现在已经过时了。在MS Windows上,本机字符类型相当于WCHAR或
WCHAR\t
。作为文件名的目标数据类型,使用一个
std::filesystem::path
,它可以很容易地从这样的字符串构造出来。