【原創】VC實現文件選擇對話框並且排除afxwin1.inl line22錯誤
#include <afxdlgs.h> //文件選在對話框的頭文件
點擊工程---設置----C/C++------分類後面改成, 將use run-time library後面的選項選擇multithreaded即可。
#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)
解決方法:如圖修改。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.