C++2010. 3. 22. 17:51

#. 내용
 - 파일 포인터를 원하는 위치로 옮길 때 사용하는 함수 입니다. win 32bit에서 파일의 최대 크기는 64bit이기 때문에 파일포인터도 64bit의 범위 내에서 이동할 수 있습니다. 파일 크기가 4GB이하일 경우 세번째 인수는 null값을 주고 두번째 인수만으로 파일 위치를 지정합니다.

#. 원형
DWORD SetFilePointer(
  HANDLE hFile,
  LONG IDistanceToMove,
  PLONG lpDistanceToMoveHigh,
  DWORD dwMoveMethod
);

#. 파라미터
 - HANDLE hFile: 파일포인터를 옮기고자 하는 대상 파일의 핸들.
 - LONG IDistanceToMove: 파일포인터를 옮길 위치를 지정.
 - PLONG lpDistanceToMoveHigh: 파일의 크기가 4GB이상일 경우 파일 포인터를 옮길 위치를 지정.
 - DWORD dwMoveMethod: 파일 포인터의 이동 시작 위치를 지정.
  -> FILE_BEGIN: 파일의 시작 위치에서부터 파일 포인터를 이동.
  -> FILE_CURRENT: 현재 위치에서 파일 포인터를 이동.
  -> FILE_END: 파일의 끝에서부터 파일 포인터를 이동.


※ 파일 포인터란?
 - 파일에 접근할 때 해당 파일의 위치를 가리키는 것을 File Pointer(이하 FP)라고 합니다. 최초로 파일을 열었을 때 FP는 항상 파일의 선두 위치를 가리키지만 파일을 읽거나 쓰면 그만큼 FP가 자동으로 이동하게 됩니다.

Posted by 쿵캉켕