본문 바로가기
프레임워크/MFC

[MFC] 파일 입출력, CFile, CStdioFile

by 연어바케트 2021. 8. 4.
반응형

CFile

  • CFile 이용하여 파일 Write 하는 법
CFile file;
vector<CString> vServiceTest;
for( int i = 0; i < 10 ; ++i )
{
	vServiceTest.push_back( _T("10\n") );
}

//파일 없으면 생성, 파일 작성
file.Open(_T("Txt1.txt"),CFile::modeCreate | CFile::modeWrite, NULL); 

for( int i = 0; i < vServiceTest.size(); ++i )
{
	file.Write( vServiceTest.at(i) ,vServiceTest.at(i).GetLength()*sizeof(TCHAR) ); 
}

file.Close(); // 반드시 close!!

 

 

  • CFile 이용해서 파일 Read 하는 법 
	//읽어올 파일 경로 불러오기
CString strDefaultPath = _T("");
CFileDialog pDlg(TRUE, _T("Files (*.txt)"), NULL, 
	OFN_FILEMUSTEXIST |		// 존재하는 파일만 선택 가능
	OFN_PATHMUSTEXIST |	    // 존재하는 경로만 선택 가능
	OFN_HIDEREADONLY |		// ReadOnly 체크박스 숨김
	OFN_LONGNAMES			//긴 파일 이름 포맷 지원
	, _T("Files (*.txt)|*.txt|All Files (*.*)|*.*|"));
                    
if(pDlg.DoModal() == IDOK)
{
	strDefaultPath = pDlg.GetPathName();
}
 
//파일 읽기! 
CFile file;
std::vector<CString> vstr;
file.Open(strDefaultPath, CFile::modeRead); //file을 열고 읽음
CArchive ar(&file, CArchive::load);
CString strTmp;
while( ar.ReadString(strTmp) )
{
	vstr.push_back(strTmp); //벡터에 담기 
}
ar.Close();
file.Close();
반응형

 

-------2021-08-04 추가 ------

CStdioFile

  • WriteString
CStdioFile file;
//파일 없으면 생성, 파일 작성
file.Open(_T("Txt1.txt"),CFile::modeCreate | CFile::modeWrite, NULL); 

file.WriteString(_T("test!!!!!!!"));

file.Close();

 

  • ReadString
    -> 한줄씩 읽어 온다.
CStdioFile file;
//파일 없으면 생성, 파일 작성
file.Open(_T("Txt1.txt"),CFile::Read); 
CString allstr;
while (file.ReadString(strTmp))
{
	allstr.Append(strTmp);
}
file.Close();

 

 

 

반응형

댓글