C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[28016] Memory Mapped File 이렇게 사용해도 되나요?
강영준 [k700k] 970 읽음    2003-11-29 09:49
일단 메모리 멥파일이란게.. 파일을 멥핑 시켜서. 메모리 처럼 사용을 한다는 계념인데..

그렇다면...

일단 파일을
 
  HANDLE hFile, hFMap;
  int PtrInFile;

hFile = CreateFile("Test.txt",GENERIC_WRITE|GENERIC_READ,0,NULL,
           OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
이렇게 생성 하고 이것을 다시
hFMap = CreateFileMapping(hFile,,NULL,PAGE_READWRITE,0,GetFileSize(hFile, NULL),NULL);

이렇게 .. 만든다음 메핑 파일을 사용할려면

PtrInFile = MapViewOfFile(hFMap,FILE_MAP_ALL_ACCESS,0,0,0);

이렇게 만들어서.. PtrInFile 를 사용하면 Test.txt의 내용을 출력 할수는 있는데요.

여기다 추가적으로 더 데이타를 Test.txt에 기록한 다음 다시 출력 할려면 어떻게 해야 하나요?


근데..  메핑 시킨 파일 Test.txt 에다 그대로 데이타를 넣어도 상관 없을까요? 적은 내용은 상관 없겠지만.

자료양이 무지 많아지면.. 문제가 되지 않을까요?

FileWrite(hFile,Str.c_str(),Str.Length()); 이렇게 자료를 계속 추가 하고...

출력 할땐 PtrInFile 사용해서 출력 해주고...

DrawText(hdc,(char *)PtrInFile,GetFileSize(hFMap,NULL),&rt,DT_EXPANDTABS);

저번에 임프님께서 메모리멥파일로 테스트를 해보셨다는데...

어떤 방법으로 하셨는지.. 궁금 하군요.. 속도도 빠르고.. 크기에도 상관없는..

^^;

+ -

관련 글 리스트
28016 Memory Mapped File 이렇게 사용해도 되나요? 강영준 970 2003/11/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.