1、创建文件夹:
CStringm_strFileOut = _T("");
TCHARszSelected[MAX_PATH];//用来存放文件夹路径
BROWSEINFObi;
LPITEMIDLISTpidl;
bi.hwndOwner= this->m_hWnd;
bi.pidlRoot= NULL;
bi.pszDisplayName= szSelected;
bi.lpszTitle= _T("选择输出文件路径");
bi.ulFlags= BIF_RETURNONLYFSDIRS;
bi.lpfn= NULL;
bi.lParam= NULL;
bi.iImage= NULL;
if((pidl= SHBrowseForFolder(&bi)) != NULL)
{
if(SUCCEEDED(SHGetPathFromIDList(pidl,szSelected))) //得到文件夹的全路径,不要的话,只得本文件夹名
{
m_strFileOut= szSelected;
//MessageBox(m_strFileOut);
tmp.Format(_T("\\%s"),TimeStr);
m_strFileOut=m_strFileOut+tmp;
CreateDirectory(m_strFileOut,NULL);
tmp.Format(_T("\\"));
m_strFileOut=m_strFileOut+tmp;
CreateDirectory(m_strFileOut,NULL);
}
}
2、获取选择文件路径:
CFileDialogpCFileDialog(true,NULL,NULL,0,_T("所有文件(*.*)|*.*"));
pCFileDialog.m_ofn.lpstrTitle= _T("打开文件 ");
if(pCFileDialog.DoModal()!=IDOK)
{
return;
}
strDescPath= pCFileDialog.GetPathName();
FileTitle=FilePathName.Mid(0,(FilePathName.GetLength()-4)); //去掉文件全路径的最后4个字符(即扩展名)
//SetDlgItemText(IDC_EDIT_FILEPATH,pCFileDialog.GetPathName());
//FileTitle= pCFileDialog.GetFileTitle();
//FileTitle=strDescPath.Right(20);
//FileTitle=strDescPath.Mid(strDescPath.ReverseFind("\\")+1,strDescPath.GetLength()-4);
//FileTitle=strDescPath.Mid(strDescPath.ReverseFind(_T('\\'))+1,len);
3、判断文件是否存在:
if(!PathIsDirectory(strDescPath) )
{
}
else
{
}
4、文件读写、偏移操作
FILE *pFile;
unsigned char RxDataBuffer[4096];
pFile =fopen(SaveFilePath+".bin","rb+"); //读操作
pFile =fopen(SaveFilePath+".bin","wb+"); //写操作
fread(buf,1024,1, pFile); //当返回值为0时,表示文件结束
fwrite(RxDataBuffer,ret,1,pFile);
fseek(pFile, OffSet,SEEK_SET); //从开始偏移
第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移
SEEK_SET:文件开头
SEEK_CUR:当前位置
SEEK_END:文件结尾
其中SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.
fseek(fp,100L,0);把文件内部指针移动到离文件开头100字节处;
fseek(fp,100L,1);把文件内部指针移动到离文件当前位置100字节处;
fseek(fp,-100L,2);把文件内部指针退回到离文件结尾100字节处。
fclose(pFile);