CFileDialog獲取檔名長度

2021-07-31 02:10:55 字數 461 閱讀 8369

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成員指明了緩衝區的大...