18 2 CFile CFile my FileC my File

  • Slides: 23
Download presentation

18. 2 CFile 클래스 CFile my. File(“C: my. File. dat”, CFile: : mode. Create

18. 2 CFile 클래스 CFile my. File(“C: my. File. dat”, CFile: : mode. Create | CFile: : mode. Write); int num = 10; my. Struct st; st. a = 22; st. b = 33; my. File. Write (&num, sizeof(int)); // 정수 num을 4 byte만큼 기록한다. my. File. Write(&st, sizeof(st)); my. Struct의 인스턴스 st를 8 byte만큼 기록한다. CFile my. File(“C: my. File. dat”, CFile: : mode. Read); my. Struct st; my. File. Read (&num, sizeof(int)); // 정수 num을 4 byte만큼 읽는다. my. File. Read(&st, sizeof(st)); my. Struct의 인스턴스 st를 8 byte만큼 읽는다. 전자파연구실 5

18. 3 직렬화(Serialization) - CArchive 클래스 CFile my. File(“myfile. dat”, CFile: : mode. Create

18. 3 직렬화(Serialization) - CArchive 클래스 CFile my. File(“myfile. dat”, CFile: : mode. Create | CFile: : mode. Write); CArchive ar(&my. File, CArchive: : store); Serializable my. Obj; my. Obj. m_number = 127; my. Obj. m_string = “abc”; my. Obj. Serialize(ar); // Serialize() 함수 안에서 ar클래스의 연산자를 이용, 객체를 직렬화한다. ar. Close(); //CArchive 객체 닫기 my. File. Close(); // CFile 객체 닫기 CFile my. File(“myfile. dat”, CFile: : mode. Read); CArchive ar(&my. File, CArchive: : load); Serializable my. Obj; my. Obj. Serialize(ar); // 파일로부터 객체의 내용을 읽어들인다. ar. Close(); //CArchive 객체 닫기 my. File. Close(); // CFile 객체 닫기 전자파연구실 12

18. 3 직렬화(Serialization) 전자파연구실 13

18. 3 직렬화(Serialization) 전자파연구실 13

18. 4 직렬화를 위한 MFC 응용 프로그램 구조 - 기존 문서 열기/저장하기 ID_FILE_OPEN 클릭

18. 4 직렬화를 위한 MFC 응용 프로그램 구조 - 기존 문서 열기/저장하기 ID_FILE_OPEN 클릭 ID_FILE_SAVE 클릭 CWin. App: : On. File. Open() CDocument: : On. File. Save() CWin. App: : Do. Prompt. File. Name CDocument: : On. Open. Document() CDocument: : On. Save. Document() 전자파연구실 15

18. 5 Climate. Monitor - CDocument: : On. New. Document() 멤버함수 오버라이딩 전자파연구실 19

18. 5 Climate. Monitor - CDocument: : On. New. Document() 멤버함수 오버라이딩 전자파연구실 19

18. 5 Climate. Monitor - CDocument: : On. Open. Document() 멤버함수 오버라이딩 전자파연구실 20

18. 5 Climate. Monitor - CDocument: : On. Open. Document() 멤버함수 오버라이딩 전자파연구실 20

18. 5 Climate. Monitor - CDocument: : On. Save. Document() 멤버함수 오버라이딩 전자파연구실 21

18. 5 Climate. Monitor - CDocument: : On. Save. Document() 멤버함수 오버라이딩 전자파연구실 21

18. 5 Climate. Monitor - Serialize. Elements() 함수오버라이딩하기 전자파연구실 22

18. 5 Climate. Monitor - Serialize. Elements() 함수오버라이딩하기 전자파연구실 22

18. 5 Climate. Monitor 전자파연구실 23

18. 5 Climate. Monitor 전자파연구실 23