#include <afxdlgs.h> //文件选在对话框的头文件
#include <stdio.h>
int main()
{
AfxSetResourceHandle(GetModuleHandle(NULL)); //这一句要是不加你就会碰上afxwin1.inl line22错误
CString filter_str = "All Files(*.*)|*.*|";
//打开的文件类型,格式为 a(*.a)|*.a|||b(*.b)|*.b|
CFileDialog filedlg(TRUE,NULL,NULL,NULL,filter_str,NULL); //初始化
/*
第一个参数如果为false则出现文件保存对话框,为true是文件打开对话框
第二个参数是在对话框显示的文件的文件扩展名,具体什么格式我就不知道了
第三个参数百度百科上说是“指定默认的文件名”
第四个参数指定一些风格,
第五个参数指定扩展名,就是我们刚才定义的字符串
第六个参数指定父窗口指针,搞不懂,不填吧。反正网上没人填这个参数,都写NULL
*/
filedlg.DoModal(); //显示窗口
printf("文件路径:%s\n",filedlg.GetPathName());
printf("文件名(加扩展名):%s\n",filedlg.GetFileName());
printf("扩 展 名 :%s\n",filedlg.GetFileExt()); //百度百科上说是GetExtName(),但实际上是GetFileExt
printf("文件名(不加扩展名):%s\n",filedlg.GetFileTitle());
return 0;
}
注意:本程序在VC6下编译通过,运行时出现错误:
--------------------Configuration: 临时 - Win32 Debug--------------------
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/临时.exe : fatal error LNK1120: 2 unresolved externals
执行 link.exe 时出错.
临时.exe - 1 error(s), 0 warning(s)
解决方法:如图修改。
点击工程---设置----C/C++------分类后面改成,
将use run-time library后面的选项选择multithreaded即可。