본문 바로가기
Programming/Win_API

윈도우즈 API - 파일 관련 함수(CreateFile, WriteFile, ReadFile)

by bbolmin 2012. 9. 3.

 


 

CreateFile()

WriteFile()

ReadFile()

 


 

 

- CreateFile() : 파일 오픈

 

 

 

 

- WriteFile() : 파일에 쓰기

- ReadFile() : 파일 읽기

 

 

 

ex)

 

#include <Windows.h>
#include <stdio.h>
#include <string.h>

 

int main()
{
 HANDLE hFile;
 DWORD dwWrite, dwRead;
 char wdata[20] = "Hello World";
 char rdata[20];

 

 hFile = CreateFile(TEXT("test.txt"),GENERIC_READ|GENERIC_WRITE,0  ,NULL,CREATE_ALWAYS,

FILE_ATTRIBUTE_NORMAL,NULL);

 

 if(hFile == INVALID_HANDLE_VALUE)
   return 0;

 

 WriteFile(hFile, wdata, strlen(wdata), &dwWrite, NULL);
 ReadFile(hFile, rdata, dwWrite, &dwRead, NULL);

 CloseHandle(hFile);

 printf("%s",rdata);

 

}

 

위와 같이 예제를 실행 해보면 ReadFile에서 rdata 버퍼 시작점에서 read하지 않고 뒷부분부터 read해서 아래와 같이 이상한 결과가 나왔다. 무슨 문제인지 ..........