MFC之文件操作
文件写入操作:
void CtFileView::OnFileWrite() { // TODO: 在此添加命令处理程序代码 //写入以ANSI字符写入, //FILE *pFile = fopen("1.txt","w"); ////fwrite("写入测试",1,strlen("写入测试"),pFile); //fwrite("this is a test!",1,strlen("this is a test!"),pFile); ////fseek(pFile,0,SEEK_SET); ////fwrite(" ftp:",1,strlen("ftp:"),pFile); //fflush(pFile); //fclose(pFile); //CFile /*CFile file(_T("1.txt"), CFile::modeCreate | CFile::modeWrite); file.Write("写入测试", strlen("写入测试")); file.Close();*/ CFileDialog fileDlg(FALSE); //fileDlg.DoModal(); fileDlg.m_ofn.lpstrTitle=_T("保存文档"); fileDlg.m_ofn.lpstrFilter=_T("Text File(*.txt)\0*.txt\0All File(*.*)\0*.*\0\0"); fileDlg.m_ofn.lpstrDefExt=_T("txt"); if (IDOK==fileDlg.DoModal()) { CFile file(fileDlg.GetFileName(),CFile::modeCreate | CFile::modeWrite); file.Write("http://www.wwgupiao.com",strlen("http://www.wwgupiao.com")); file.Close(); } }
文件读取操作:
void CtFileView::OnFileRead() { // TODO: 在此添加命令处理程序代码 //CFile /*CFile file(_T("1.txt"),CFile::modeRead); char buf[100]; TCHAR wbuf[100] = {0}; memset(buf,0,100); DWORD fileLen=file.GetLength(); file.Read(buf,fileLen); MultiByteToWideChar(CP_ACP, 0, buf, -1, wbuf, sizeof(wbuf)); file.Close(); MessageBox(wbuf);*/ CFileDialog fileDlg(TRUE); //fileDlg.DoModal(); fileDlg.m_ofn.lpstrTitle=_T("打开文档"); fileDlg.m_ofn.lpstrFilter=_T("Text File(*.txt)\0*.txt\0All File(*.*)\0*.*\0\0"); fileDlg.m_ofn.lpstrDefExt=_T("txt"); if (IDOK==fileDlg.DoModal()) { CFile file(fileDlg.GetFileName(),CFile::modeRead); /*char buf[10000]; WCHAR wbuf[10000] = {0}; memset(buf,0,10000); DWORD fileLen=file.GetLength(); file.Read(buf,fileLen); file.Close(); MultiByteToWideChar(CP_ACP, 0, buf, -1, wbuf, sizeof(wbuf)); MessageBox(wbuf);*/ //第二种 char *pBuf; ULONGLONG fileLen = file.GetLength(); pBuf = new char[fileLen+1]; pBuf[fileLen] = 0; file.Read(pBuf, fileLen); file.Close(); CString result(pBuf); MessageBox(result); } }

浙公网安备 33010602011771号