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(); // 닫기 }