【原创】VC实现文件选择对话框并且排除afxwin1.inl line22错误

本文介绍如何在VC6环境下利用MFC中的CFileDialog类创建文件选择对话框,并获取所选文件的路径、名称及扩展名等信息。文章还解决了在多线程环境下链接时出现的未解析外部符号错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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)

解决方法:如图修改。
【原创】VC实现文件选择对话框并且排除afxwin1.inl line22错误 - sunnysab - 开心最重要
 
 点击工程---设置----C/C++------分类后面改成【原创】VC实现文件选择对话框并且排除afxwin1.inl line22错误 - sunnysab - 开心最重要
 将use run-time library后面的选项选择multithreaded即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值