请教如何用C++,弹出选择文件窗口,并在控制台打印已选文件路径

如题,现在使用VC2017,听说可以使用OpenFileDialog,刚入门小白,请问具体需要怎么用,感谢各位大神

0

4个回答

这是原生C++的做法:

// Q694481_Win32.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include <windows.h>
#include <Commdlg.h>
#include <stdio.h>

OPENFILENAME ofn;
char szFile[300];

int main()
{
    ZeroMemory(&ofn, sizeof(ofn));
    ofn.lStructSize = sizeof(ofn);
    ofn.hwndOwner = NULL;
    ofn.lpstrFile = (LPWSTR)szFile;
    ofn.lpstrFile[0] = '\0';
    ofn.nMaxFile = sizeof(szFile);
    ofn.lpstrFilter = L"All\0*.*\0Text\0*.TXT\0";
    ofn.nFilterIndex = 1;
    ofn.lpstrFileTitle = NULL;
    ofn.nMaxFileTitle = 0;
    ofn.lpstrInitialDir = NULL;
    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
    if (GetOpenFileName(&ofn))
    {
        wprintf(L"%s\n", ofn.lpstrFile);
    }
    else
    {
        printf("user cancelled\n");
    }
    return 0;
}

1

OpenFileDialog是.net的库,你必须创建一个C++ CLR的程序

 // Q694481.cpp : main project file.

#include "stdafx.h"

using namespace System;
using namespace System::Windows::Forms;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    OpenFileDialog^ openFileDialog = gcnew OpenFileDialog;
    if (openFileDialog->ShowDialog() == System::Windows::Forms::DialogResult::OK)
    {
        Console::WriteLine(openFileDialog->FileName);
    }
    Console::ReadLine();
}

0

图片说明

0

图片说明

0
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
请教如何用C++,弹出选择文件窗口,并在控制台打印已选文件路径
如题,现在使用VC2017,听说可以使用OpenFileDialog,刚入门小白,请问具体需要怎么用,感谢各位大神
c++ 控制台弹出文件管理对话框
// ConsoleApplication4.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { TCHAR szBuffer[MAX_PATH] = {0
控制台程序使用打开文件对话框
#include #include #include #include using namespace std;/*控制台打开文件对话框,VC6.01.新建一个空的控制台程序2.Project->Setting->C/C++ ->catagory(code generation)-> using run-time library -> multithread3.
C语言调用windows窗口,得到文件夹目录
c++,获取路径
MFC选择文件并在编辑框中显示文件路径
http://blog.csdn.net/cecilia214/article/details/5345915 1.在对话框上添加了一个按钮,并添加其单击的响应程序如下: [cpp] view plaincopyprint? void COpenFileDlg::OnBnClickedFileOpen1()  {      // TODO: 在此添加控件通知处理程序
VC点击按键弹出文件路径选择对话框
void CServerDlg::OnBnClickedButtonSavePath() { CString str; BROWSEINFO bi; ZeroMemory(&bi, sizeof(BROWSEINFO));     //作用为给所有参数都设为0,即NULL bi.hwndOwner = GetSafeHwnd();   //bi.hwndOwner = m
控制台程序弹出选择要打开文件的窗口
#include &amp;lt;Windows.h&amp;gt; #include &quot;CommDlg.h&quot; #include &quot;tchar.h&quot; #include &amp;lt;iostream&amp;gt; const char* OpenFile() { TCHAR szBuffer[MAX_PATH] = { 0 }; OPENFILENAME ofn = { 0 }; ofn.lStructSize = ...
C++弹出框获取文件路径
方式1: void GetPath() { wchar_t *szDefaultDir = L"C:\\WINDOWS\\"; wchar_t szPath[MAX_PATH] = {0}; std::wstring strSelDir = L""; BROWSEINFO brInfo; ITEMIDLIST *pItem; brInfo.hwndOwner = m_pDlg
windows API实现用户选择文件路径的对话框
在编写应用程序时,有时需要用户选择某个文件,以供应用程序使用,比如在某些管理程序中需要打开某一个进程,这个时候需要弹出一个对话框来将文件路径以树形图的形式表示出来,以图形化的方式供用户选择文件路径,而不是需要用户自己输入文件路径。   在MFC中能够弹出对话框供用户选择文件路径的类是CFileDialog,但是这个类的主要问题是当用户选择文件路径后,会打开相关的文件,与我们的要求不符,在Wind
一分钟了解“matlab实现用对话框手选的方式打开文件”
[filename, pathname] = uigetfile( ...     {'*.jpg;*.bmp;*.png;*.gif','All Image Files';...     '*.*','All Files' },...     '请选择背景的图片', ...     'MultiSelect', 'off');  backgroundImage=imread( [pat