VC中关于文件的操作

来源:互联网 发布:软件测试兼职平台 编辑:程序博客网 时间:2024/06/06 09:37

最新写了一个程序,里头学到来了不少关于文件的操作,下面列举出来。

下面是关于字符串复制到粘贴板的操作:

void CDownlistBuilderDlg::OnBnClickedButtonCopy(){CString m_str;m_str=_T("这就是要复制的文字");if(OpenClipboard()){HGLOBAL clipbuffer;char *buffer;EmptyClipboard();clipbuffer=GlobalAlloc(GMEM_DDESHARE,m_str.GetLength()+1);buffer=(char *)GlobalLock(clipbuffer);USES_CONVERSION;LPCSTR a=T2A(m_str.GetBuffer(m_str.GetLength()));m_str.ReleaseBuffer();strcpy(buffer,a);GlobalUnlock(clipbuffer);SetClipboardData(CF_TEXT,clipbuffer);CloseClipboard();}}


下面是关于粘贴板复制到字符串的操作:

void CDownlistBuilderDlg::OnBnClickedButtonPaste(){CString m_str;m_str=_T("");char *buffer=NULL;CString fromClipboard;if(OpenClipboard()){HANDLE hData=GetClipboardData(CF_TEXT);char *buffer=(char*)GlobalLock(hData);fromClipboard=buffer;m_str=m_str+fromClipboard;GlobalUnlock(hData);CloseClipboard();}}


下面是关于文件保存的操作:

void CDownlistBuilderDlg::OnBnClickedButtonSave(){CFileDialog *lpszOpenFile;//定义一个CfileDialog对象CString m_str;CString str;m_str=_T("这是保存在文件里的字符串");str=_T("");str.Format(_T("%ld"),time(NULL));//默认的文件名lpszOpenFile = new CFileDialog(FALSE,_T(""),str,OFN_FILEMUSTEXIST |OFN_HIDEREADONLY,_T("文件类型1(*.type1)|*.type1|文件类型2(*.type2)|*.type2||"));//生成一个对话框if(lpszOpenFile->DoModal()==IDOK)//假如点击对话框确定按钮{CString path;path=lpszOpenFile->GetPathName();//得到打开文件的路径///////////////////////////////////////////////////////CStdioFile File;File.Open(path,CFile::modeCreate|CFile::modeReadWrite);File.WriteString(m_str);File.Close();//这一部分是文件保存,将字符串m_str保存在path确定的文件中///////////////////////////////////////////////////////}delete lpszOpenFile;//释放分配的对话框}


下面是关于读取拖拽文件内容的操作:

void CDownlistBuilderDlg::OnDropFiles(HDROP hDropInfo){CString m_str;m_str=_T("");CString str;str=_T("");CString filename,filetype;TCHAR filePath[MAX_PATH]={0};DragQueryFile(hDropInfo,0,filePath, MAX_PATH-1);filename=filePath;//filetype=filePath;//filename=filename.Right(filename.GetLength()-filename.ReverseFind('\\')-1);//得到文件名(带扩展名),如果需要去掉扩展名,继续处理即可//filetype=filetype.Right(filename.GetLength()-filename.ReverseFind('.')-1);//得到扩展名//filename=filename.Left(filename.GetLength()-filetype.GetLength());//得到文件名(不带扩展名)/////////////////////////////////////////////CStdioFile File;File.Open(filePath,CFile::modeRead);while(File.ReadString(str)){m_str=m_str+str+_T("\r\n");}File.Close();//这一部分是读取文件内容到字符串m_str中/////////////////////////////////////////////DragFinish(hDropInfo);//释放拖放占用内存,必须!CDialogEx::OnDropFiles(hDropInfo);}

原创粉丝点击