Application/MFC

[MFC] 파일 생성 (CreateFile)

devsalix 2024. 11. 24. 11:03
728x90

CreateFile을 이용한 간단한 파일 생성 후 읽고 쓰기 예제입니다

 

 

HANDLE hFile = CreateFile(_T("C:\\TestFile.txt"), GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if(hFile == INVALID_HANDLE_VALUE)
{
	return FALSE;
}

DWORD dwWrite;
DWORD dwRead;
WCHAR szData[1024];
wsprintf(szData, _T("테스트"));

if(WriteFile(hFile, szData, (DWORD)strlen(szData), &dwWrite, 0) == FALSE)
{
	//쓰기 실패
	CloseHandle(hFile);
	hFile = INVALID_HANDLE_VALUE;
	return FALSE;
}

memset(szData, NULL, sizeof(szData));
if(ReadFile(hFile, szData, sizeof(szData), &dwRead, NULL) == FALSE)
{
	//읽기 실패
	CloseHandle(hFile);
	hFile = INVALID_HANDLE_VALUE;
	return FALSE;
}

// 완료
CloseHandle(hFile);
hFile = INVALID_HANDLE_VALUE;
return TRUE;

 

CreateFile 옵션에 따라 열기 방식이 달라집니다

 

FILE_SHARE_READ : 다른 프로세스에서 읽기 작업 가능

FILE_SHARE_WRITE : 다른 프로세스에서 쓰기 작업 가능

 

CREATE_NEW : 새로 열기 (파일 있을 시 오류)

CREATE_ALWAYS : 항상 열기 (파일이 없으면 생성 후 파일 열기)

OPEN_EXISTING : 파일 있을 시 열기 (파일이 없으면 오류)

OPEN_ALWAYS : 파일 항상 열기  (파일이 없으면 생성 후 파일 열기)

TRUNCATE_EXISTING : 파일을 열고 크기가 0바이트가 되도록 자른다 (파일 없을 시오류)

 

 


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 

 

728x90