getfilepath獲取的全路徑名正確,但是當遇到長檔名時,getfilename獲取不正確,找了半天才知道,原來當遇到長檔名時,用getfilename卻只能獲取前63個字元(第64個位空終止符),所以若輸入的檔名可能超過64個字元時,千萬不要用getfilename,可用getfilepath獲取全路徑,然後從全路徑擷取檔名。或者乾脆限制檔名長度。
cfiledialog dlg(true,null,null,0,"all files (*.*)|*.*|",this);
cstring strpathname,strfilename;
if(dlg.domodal()==idok)
strfilename = strpathname.right(strpathname.getlength()-strpathname.reversefind('\\')-1);
messagebox(strfilename);
CFileDialog開啟多個檔案
cfiledialog dlg true,null,ofn allowmultiselect ofn explorer,null tchar pbuffer new tchar max path 10 dlg.m ofn.lpstrfile pbuffer dlg.m ofn.nmaxfile 10...
CFileDialog選擇多個檔案
c 同時開啟n個檔案 void copennfiledlg onbutton1 endfor 獲取檔名 不包含字尾 採用cstring的left int count 擷取cstring中從左往右數的count個字元 中的4表示 dat 四個字元 filetitle filename.left fil...
使用CFileDialog選擇多個檔案
使用cfiledialog類並設定 ofn allowmultiselect標誌時,openfilename結構體的lpstrfile成員是乙個指向使用者申請分配的緩衝區,裡面接受所 選的路徑和檔名列表,這個列表的每一項由乙個null隔開,最末以兩個null結束。nmaxfile成員指明了緩衝區的大...