CFileDialog 파일을 읽거나 저장할때 파일창 띄우기



파일에 변수의 내용을 직렬화 해서 저장,읽어들이는  예제

CFileDialog dlg(
  TRUE(읽기)/FALSE(저장),
  기본확장자,
  기본파일명,
  열기모드->MSDN 참고,
  파일창 아래쪽에 나오는 필터링
)


파일을 열어 변수에 읽어들일때
 char szFilter[] = “PCMON (*.CFG) | All Files(*.*)|*.*||”;
 CFileDialog dlg(TRUE, “cfg”, “pcmon”, OFN_HIDEREADONLY, szFilter);
 if(IDOK == dlg.DoModal())
 {
  CString strPathName = dlg.GetPathName();
  CFile fp;
  CFileException e;
  if(!fp.Open(strPathName, CFile::modeRead, &e)) {
   e.ReportError();
   return;
  }

 CString str;
 CArchive ar(&fp, CArchive::load);
 ar >> str;
}

파일을 선택해서 저장할때
char szFilter[] = “PCMON (*.CFG) | All Files(*.*)|*.*||”;
 CFileDialog dlg(FALSE, “cfg”, “pcmon”, OFN_HIDEREADONLY, szFilter);
 if(IDOK == dlg.DoModal())
 {
  CString strPathName = dlg.GetPathName();


  CFile fp;
  CFileException e;
  if(!fp.Open(strPathName,CFile::modeWrite|CFile::modeCreate, &e)) {
   e.ReportError();
   return;
  }


  CString str = _T(“문자열”);
  CArchive ar(&fp, CArchive::store);
  ar << str;
 }


출처: http://wyseburn.tistory.com/94


답글 남기기

이메일 주소는 공개되지 않습니다.