當前位置:首頁 » 文件管理 » mfc打開文件夾或文件

mfc打開文件夾或文件

發布時間: 2023-01-10 17:43:27

⑴ 如何使用VC++的MFC打開一個文件夾

//選擇文件夾
CString GetDirectory()
{
BROWSEINFO bi;
char name[MAX_PATH];
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner = AfxGetMainWnd()->GetSafeHwnd();
bi.pszDisplayName = name;
bi.lpszTitle = "選擇文件夾目錄";
bi.ulFlags = BIF_RETURNFSANCESTORS;
LPITEMIDLIST idl = SHBrowseForFolder(&bi);
if(idl == NULL)
return "";
CString strDirectoryPath;
SHGetPathFromIDList(idl, strDirectoryPath.GetBuffer(MAX_PATH));
strDirectoryPath.ReleaseBuffer();
if(strDirectoryPath.IsEmpty())
return "";
if(strDirectoryPath.Right(1)!="\\")
strDirectoryPath+="\\";

return strDirectoryPath;
}

⑵ 怎麼在MFC中打開一個文件,如單擊一個按鈕,然後彈出選擇文件的框框,我需要打開這個文件!

//文件屬性定義
CString filename;
CString fileext;//文件擴展名
CString filepathname;
//選擇文件
CFileDialog fpdlg(TRUE, NULL, NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"(文件類型)(*.dat)|*.dat|(文件類型)(*.sth)|*.sth|所有文件(*.*)|*.*||",NULL);
if(fpdlg.DoModal() == IDOK)
{
filename = fpdlg.GetFileName();
fileext = fpdlg.GetFileExt();//文件擴展名
filepathname = fpdlg.GetPathName();
//UpdateData(FALSE);
}
//打開文件
CFile fp;
if(filepathname ==_T(""))
{
//AfxMessageBox("請選擇文件!");
return ;
}
if(!(fp.Open((LPCTSTR)filepathname,CFile::modeRead)))
{
AfxMessageBox("文件打開失敗!");
return ;
}
//讀取文件
fp.SeekToEnd();
unsigned long len = fp.GetLength();
char* buff;
buff=new char[len+1];
fp.SeekToBegin();
if(fp.Read(buff,len)<1)
{
fp.Close();
}
fp.Close();

⑶ MFC打開文件夾

void CXXXDlg::OpenFolder(){ BROWSEINFO bi; ZeroMemory(&bi,sizeof(BROWSEINFO)); //添加提示語句 bi.lpszTitle= _T("請選擇文件夾"); //添加"新建文件夾項"和"編輯框" bi.ulFlags = BIF_NEWDIALOGSTYLE | BIF_EDITBOX; // 顯示一個對話框讓讓用戶選擇文件夾 LPITEMIDLIST pidl = SHBrowseForFolder(&bi); char szFolder[_MAX_PATH]; memset(szFolder, 0, sizeof(szFolder)); CString strFolder = _T(""); if (pidl != NULL) { SHGetPathFromIDList(pidl, szFolder); //保存文件夾路徑存 strFolder.Format(_T("%s"), szFolder); afxMessageBox(strFolder); } else { return; }}

⑷ mfc 如何打開文件

讀取EXCEL文檔里的數據,因為EXCEL是有格式的,所以和讀取TXT等數據文件完全不同。

如果TXT,那麼使用CFile類Open打開文件就可以讀取數據了,相對比較簡單。

讀取EXCEL文檔里的數據,需要用ADO數據源或者OLE的Office組件,在Open菜單響應函數中設置數據源並進行資料庫操作,如果初學,可能會比較困難,需要熟悉的東西很多。

建議:EXCEL文件可以另存為csv格式,這個是純文本的,可以直接CFile按照文本文檔讀取,如果不是項目需求,這個實現比較適合初學者。

⑸ mfc 如何打開文件

讀取EXCEL文檔里的數據,因為EXCEL是有格式的,所以和讀取TXT等數據文件完全不同。

如果TXT,那麼使用CFile類Open打開文件就可以讀取數據了,相對比較簡單。

讀取EXCEL文檔里的數據,需要用ADO數據源或者OLE的Office組件,在Open菜單響應函數中設置數據源並進行資料庫操作,如果初學,可能會比較困難,需要熟悉的東西很多。

建議:EXCEL文件可以另存為csv格式,這個是純文本的,可以直接CFile按照文本文檔讀取,如果不是項目需求,這個實現比較適合初學者。

⑹ mfc怎麼實現打開文件夾

voidCXXXDlg::OpenFolder()
{
BROWSEINFObi;
ZeroMemory(&bi,sizeof(BROWSEINFO));
//添加提示語句
bi.lpszTitle=_T("請選擇文件夾");
//添加"新建文件夾項"和"編輯框"
bi.ulFlags=BIF_NEWDIALOGSTYLE|BIF_EDITBOX;
//顯示一個對話框讓讓用戶選擇文件夾
LPITEMIDLISTpidl=SHBrowseForFolder(&bi);
charszFolder[_MAX_PATH];
memset(szFolder,0,sizeof(szFolder));
CStringstrFolder=_T("");
if(pidl!=NULL)
{
SHGetPathFromIDList(pidl,szFolder);
//保存文件夾路徑存
strFolder.Format(_T("%s"),szFolder);
afxMessageBox(strFolder);
}
else
{
return;
}
}

⑺ mfc如何打開一個文件夾下的所有的文件

可不可以給我發個,能夠打開已知文件名.pdf的文件程序 也是按鍵觸發

⑻ MFC中想實現打開文件或文件夾,該怎麼實現呢

把"通過選擇得到一個文件/文件夾的路徑" 這些代碼實現 寫到某個函數里,不是寫到按鈕實現的函數里就行了。例如:

【以下代碼中 filePathFile就是你想要的路徑】
在主體函數中:
CFileDialog *lpszOpenFile; //定義一個CfileDialog對象
//生成一個對話框
lpszOpenFile = new CFileDialog
(TRUE,"abc.txt","",OFN_FILEMUSTEXIST |OFN_HIDEREADONLY , "文件類型(*.txt)|*.txt|所有文件(*.*)|*.*|");

if(lpszOpenFile->DoModal() == IDOK )//假如點擊對話框確定按鈕
{
filePathName = lpszOpenFile->GetPathName();//得到打開文件的路徑

}

if(!file.Open(filePathName,CFile::modeRead))
{
MessageBox("can not open file!");
return;
}

⑼ MFC按鈕打開選擇一個文件夾,然後獲得文件夾中的所有txt文件名稱!

這個滿足你的要求
s返迴文件路徑
#define
DLG_FILTER
"ALL
Files
(*.*)|*.*||"
#define
DLG_EXT
"*
"
CFileDialog
dlg(TRUE,
_T(DLG_EXT),
NULL,
OFN_HIDEREADONLY
|
OFN_OVERWRITEPROMPT
|
OFN_ALLOWMULTISELECT,
_T(DLG_FILTER));
if
(dlg.DoModal()
==
IDOK)
{
POSITION
pos
=
dlg.GetStartPosition();
while
(pos
!=
0)
{
CString
s
=
dlg.GetNextPathName(pos);
}
}
下面代碼,可以選擇文件夾,會返迴文件夾的路徑
需要自己查找每個文件
char*
GetPath(HWND
hWnd,char*
pBuffer)
{
BROWSEINFO
bf;
LPITEMIDLIST
lpitem;
memset(&bf,0,sizeof
BROWSEINFO);
bf.hwndOwner=hWnd;
bf.lpszTitle=
"選擇路徑";
bf.ulFlags=BIF_RETURNONLYFSDIRS;
//屬性你可自己選擇
lpitem=SHBrowseForFolder(&bf);
if(lpitem==NULL)
//如果沒有選擇路徑則返回
0
return
0;
//如果選擇了路徑則復制路徑,返迴路徑長度
SHGetPathFromIDList(lpitem,pBuffer);
return
pBuffer;
}

⑽ mfc打開文件夾

CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打開對話框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
fileDlg.DoModal()

熱點內容
創意公益廣告腳本 發布:2025-08-30 06:04:41 瀏覽:222
購買雲伺服器後 發布:2025-08-30 06:04:38 瀏覽:245
阿里雲購買伺服器流程 發布:2025-08-30 06:00:00 瀏覽:412
端游有哪些腳本 發布:2025-08-30 05:46:34 瀏覽:736
ftp連接哪裡 發布:2025-08-30 05:46:01 瀏覽:495
次資料庫文件 發布:2025-08-30 05:42:04 瀏覽:614
塊存儲產品 發布:2025-08-30 05:37:00 瀏覽:522
安卓手機如何去除小貼紙還原照片 發布:2025-08-30 05:36:08 瀏覽:244
安卓如何聽m4a 發布:2025-08-30 05:07:09 瀏覽:966
存儲伺服器到電腦怎麼布線 發布:2025-08-30 05:05:42 瀏覽:934