HANDLE CreateFile(LPCTSTR fname,DWORD access,DWORD share,LPSECURITY _ATTRIBUTES lpSecurityAttributes,
DWORDdwCreateDisposition,DWORD dwFlagAndAttributes,HANDLE hTempFile);
BOOL CloseHandle(HANDLE hObject); - 커널 객체의 핸들을 닫는 interface
| 실패시 INVALID_HANDLE_VALUE 반환(0xFFFFFFFF임 즉, -1) |
|
fname - 절대 경로명 과 상대경로명을 사용할 수 있다.
|
|
access - GENERIC_READ, GENERIC_WRITE의 조합
|
|
share - 0이면 공유 안함, FILE_SHARE_READ 와 FILE_SHARE_WRITE의 조합
|
|
lpSecurityAttributes - 파일 핸들의 상속에 대한 속성
|
|
dwCreationDisposition CREATE_NEW : 파일이 없을 경우에만 새로운 파일을 만든다. CREATE_ALWAYS : 새로운 파일을 만든다.(기존에 파일이 있으면 삭제 후 만든다.) OPEN_EXISTING: 파일이 없으면 INVALID_HANDLE_VALUE반환 (0xFFFFFFFF로 -1이다.) OPEN_ALWAYS: 파일이 없을 경우에만 새로운 파일을 만든다. TRUNCATE_EXISTING: 파일을 열고 파일의 사이즈가 0이된다. |
|
dwFlagAndAttributes 파일 속성 FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_HIDEN,FILE_ATTRIBUTE_NORMAL,FILE_ATTRIBUTE_OFFLINE, FILE_ATTRIBUTE_READONLY,FILE_ATTRIBUTE_ SYSTEM,FILE_ATTRIBUTE_TEMPORARY 파일 플래그 FILE_FLAG_WRITE_THROUGH,FILE_FLAG_OVERLAPPED,FILE_FLAG_NO_BUFFERING, FILE_FLAG_RANDOMACCESS,FILE_FLAG_SEQUENTIAL_SCAN,FILE_FLAG_DELETE_ON_CLOSE, FILE_FLAG_BACKUP_SEMANTICS,FILE_FLAG_POSIX_SEMANTICS,FILE_FLAG_OPEN_REAPRSE_POINT, FILE_FLAG_OPEN_NO_RECALL |
2. 파일 쓰기 및 읽기
BOOL WriteFile(HANDLE hFile,LPVOID lpBuffer,DWORD nNumber,LPDWORD lpNum,LPOVERLAPPED lpOverlapped);
BOOL ReadFile(HANDLE hFile,LPVOID lpBuffer,DWORD nNumber,LPDWORD lpNum,LPOVERLAPPED lpOverlapped);
|
hFile - 연 파일 핸들
|
|
lpButter - 프로그램 상의 메모리(파일로 써야 할 버퍼의 주소, 파일로부터 받을 버퍼의 주소)
|
|
nNumber - 요구 바이트(써야 할 데이터 사이즈, 읽어야 할 데이터 사이즈)
|
|
lpOverlapped - Blocking 모드인지 Non-Blocking 모드인지 설정(NULL은 Blocking모드)
|
3. 랜덤 액세스
DWORD SetFilePointer(HANDLE hFile,LONG offset_low,LONG offset_high,DWORD base);
|
hFile - 연 파일 핸들
|
|
offset_low, offset_high - 기준점에서 이동할 거리
|
|
base - 기준점 FILE_BEGIN, FILE_CURRENT, FILE_END
|
4. 기타
BOOL CopyFile(LPCTSTR nowfname,LPCTSTR newfname,BOOL bFailExisted);
BOOL MoveFile(LPCTSTR nowfname,LPCTSTR newfname);
BOOL DeleteFile(LPCTSTR fname);
DWORD GetFileSize(HANDLE hFile,LPDWORD lpFileSizeHigh);
DWORD GetFileAttributes(LPCTSTR lpFileName);
int SHFileOperation(LPSHFILEOPSTRUCT lpFileOp);
5. 파일 검색
HANDLE FindFirstFile(LPCTSTR fname,LPWIN32_FIND_DATA lpFindData);
BOOL FindNextFile(HANDLE hFindFile,LPWIN32_FIND_DATA lpFindData);
BOOl FindClose(HANDLE hFindFile);
|
사용 예: WIN32_FIND_DATA wfd; HANDLE hFind; BOOL check = true; if( (hFind = FindFirstFile(Path,&wfd))!=INVALID_HANDLE_VALUE) { while(check) { Doit(&wfd); FindNextFile(hFind,&wfd); } FindClose(hFind); }
|
6. 디렉토리 관련
BOOL CreateDirectory(LPCTSTR lpPathName,LPSECURITY_ATTRIBUTES lpSec); - 디렉토리 생성
BOOL RemoveDirectory(LPCTSTR lpPathName); - 디렉토리 제거
HANDLE FindFirstChangeNotification(LPCTSTR lpPahtName,BOOL bWatchSubtree,DWORD dwNotifyFilter);
- 디렉토리에 변화를 감시
|
dwNotifyFilter - 다음의 조합 #define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
|
'C,C++' 카테고리의 다른 글
| [C++] File I/O (8) | 2011/03/12 |
|---|---|
| [MFC]CHttpFile Class (0) | 2010/07/21 |
| [Visual C++]MAC address 받아오는 3가지 방법 (1) | 2010/03/02 |
| VC++ 의 warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) 해결 법 (1) | 2009/01/21 |
| IOCP – 윈속 프로그래밍 (0) | 2008/05/18 |
| IOCP(Input Output Completion Port) 사용 방법 (1) | 2008/05/18 |
| CString 의 형변환 (0) | 2008/05/16 |
| CString to const char * (0) | 2008/05/16 |
| LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 분석 (1) | 2008/05/14 |
| CString->char* 형변환 (1) | 2008/05/14 |
-
Nike Foamposites 2012/03/14 16:40
오직 당신에게 도움이 될 수있는 무언가를 - 나이키는 지속적으로 그들의 실행 신발을 개발하고 향상하기위한 새로운 방법을 찾고 있습니다.
http://www.nikeairfoamposites.net/ Nike Air Foamposites
http://www.nikeairfoamposites.net/ Nike Foamposite Shoes
http://www.nikeairfoamposites.net/ Nike Foamposites



Prev
Rss Feed

