MFC 파일 입출력 공부하기 좋은 예제
파일 입출력 샘플 (한줄씩 읽어서 다른 파일에 쓰기)
----- files.h -----
#include <afxwin.h>
class CFilesApp: public CWinApp
{
public:
BOOL InitInstance();
};
class CMainWindow : public CFrameWnd
{
public:
CMainWindow();
afx_msg void OnPaint();
afx_msg void OnLButtonDown(UINT nFlags,CPoint point);
afx_msg void OnRButtonDown(UINT nFlags,CPoint point);
protected:
DECLARE_MESSAGE_MAP();
};----- files.cpp -----
#include "Files.h"
CFilesApp theApp;
BOOL CFilesApp::InitInstance()
{
theApp.m_pMainWnd = new CMainWindow;
theApp.m_pMainWnd->ShowWindow(SW_SHOW);
theApp.m_pMainWnd->UpdateWindow();
return TRUE;
}
BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
ON_WM_PAINT()
ON_WM_LBUTTONDOWN()
ON_WM_RBUTTONDOWN()
END_MESSAGE_MAP()
CMainWindow::CMainWindow()
{
Create(NULL,"HELLO");
}
void CMainWindow::OnPaint()
{
//
}
void CMainWindow::OnLButtonDown(UINT nFlags,CPoint point)
{
CClientDC dc(this); // 사용자영역 DC 얻어옴
UINT Y_pos=0; // 위치 조정 변수
CString Strlist; // 파일 내용 저장 변수
CStdioFile file; // CStdioFile에 힘을 file로
if(file.Open(_T("File.txt"),CStdioFile::modeRead))
//CStdio~ 힘을 가진 file이 파일 열기 모드는 읽기
{
for(int i=0;i<file.GetLength();i++) // file에 능력중에 줄 길이 읽기
{
file.ReadString(Strlist); // 한줄씩 읽기
dc.TextOut(0,Y_pos+=20,Strlist); // 출력하기
}
}
file.Close() // 닫기
}
void CMainWindow::OnRButtonDown(UINT nFlags,CPoint point)
{
CString test; // 저장할 값 넣는 변수
CStdioFile file; // 위와 동
if(file.Open("WriteFile.txt",CFile::modeCreate| CFile::modeWrite)) // 파일 생성 또는 쓰기
{
test = "낙엽
사랑
무사"; // 들어갈 내용
file.WriteString(test); // 파일 쓰기
}
file.Close(); // 닫기
}