잠토의 잠망경

MMF를 이용하여 파일에 값을 넣어보자 본문

공부/API

MMF를 이용하여 파일에 값을 넣어보자

잠수함토끼 2008. 8. 29. 15:27
#undef UNICODE

#include 
#include 

int main(void)
{
	//파일을 생성하였다.
	HANDLE hFile = CreateFileA(
			"C:\\love01.txt",	//파일의 이름
			GENERIC_READ|GENERIC_WRITE,	//접근할 타입
			0,	//공유모드
			NULL, //always
			CREATE_ALWAYS, //파일을 언제나 새로 만든다.
			FILE_ATTRIBUTE_NORMAL, //파일의 속성정의
			NULL	//always
			);
	
	//메모리 멥을 만들어주었다. 크기를 10K 바이트로 하였다.
	HANDLE hFileMap=CreateFileMapping(
			hFile, //파일의 핸들 CreateFile()
			NULL,	//always
			PAGE_READWRITE,	//해당 페이지의 보호속성 
			0,		 //상위 32비트를 정의
			1024*10, //하위 32비트를 정의
			NULL	 //이름없이 생성할때 쓰인다.
			);
	
	//메모리 맵의 포인터를 받아왔다.
	char* pFile = (char*)MapViewOfFile(
			hFileMap, //fileMappingObject
			FILE_MAP_ALL_ACCESS, //파일 부에 접근하는 타입을 규정한다.
			0,	// 메모리에 연결할 파일의 오프셋 상위 32비트
			0,	// 메모리에 연결할 파일의 오프셋 하위 32비트
			0	// 메모리에 연결할 실제 크기를 바이트 단위로 지정한다.
			);
	
	sprintf(pFile,"lovelove you \n love \n");
	
	printf(pFile);
	//메모리 맵의 포인터를 해제한다.
	UnmapViewOfFile(pFile);
	CloseHandle(hFileMap);
	CloseHandle(hFile);

	return 0;
}
Comments