본문 바로가기

IT 실무/기타 프로그래밍10

[Windows API] 파일 열기, 읽기, 쓰기, 닫기 처음부터 끝까지 읽으면 사용할 수 있다. 천천히 읽어 보길.. 기본적인 파일 입출력을 위해선 4개의 함수를 사용한다. CreateFile, WriteFile, ReadFile, CloseHandle 기본적인 개념부터 설명 하자면, CreateFile은 언뜻 보기엔 파일을 만들기만 할것 같이 생겼지만 그게 아니다. 쉽게 말하면 파일 핸들을 할당하는 함수이다. WriteFile로 파일에 특정 값을 쓰거나 ReadFile로 파일의 값을 읽어 올때 모두 파일 핸들을 이용한다. "abc.txt"같은 특정 파일에 다이렉트로 접근 할 수 없는 것이다. 이런식으로 특정 파일에 접근할 수 있는 핸들 할당을 위한 함수가 CreateFile이다. fileHandle = CreateFile("abc.txt", CREATE);.. 2012. 11. 10.
[Windows API] 기본적인 자료형 Windows API에서는 모든 자료형이 대문자로 되어있다. BOOL : 단일 논리값 HANDLE : 커널 객체를 다루기 위한 핸들(포인터로 생각하면 이해하기 쉽다) DWORD : 정수(int) TCHAR : 문자(char) LPTSTR : 문자열(TCHAR *) 물론 DWORD와 int, TCHAR과 char은 다르다. 하지만 그냥 쉽게 이해하기 위해 그 차이점을 느끼기 전까진 그렇게 알고 있으면 될것이다. 커널 객체(kernel object)는 윈도우의 여러가지 시스템 자원(파일이나 프로세스 등)을 가리킨다. 핸들은 이를 다루기 위한 식별, 참조자이다. 우리가 C에서 변수나 Array, Structure를 다루기 위해서 포인터를 사용 했듯이, Windows API 프로그래밍에서는 이런 커널 객체들을 .. 2012. 11. 10.
[Windows API] TCHAR <-> DWORD 형변환 TCHAR Str[100]; DWORD Num; dwSomeNum = wcstod(Str, _T('\0')); //From TCHAR to DWORD. _itow(Str, Num, 10); //From DWORD to TCHAR. //FROM MSDN 2012. 11. 10.
[Windows API] 유니코드, 멀티바이트, TCHAR 문자열 함수 읽다 보면 규칙이 보일 것이다. 가장 일반적으로 쓰이는 멀티 바이트는 접두어가 str이다, 유니코드는 wcs, 그리고 자동으로 저 둘을 변환해 주어 형식에 구애받지 않고 쓸수 있는 TCHAR은 접두어가 _tcs이다. 문자열 복사 strcpy wcscpy strcpy(a,b); b를 a로 복사한다. strncpy wcsncpy strncpy(a,b,c); b를 a에 복사하되 c만큼만 복사한다. 문자열 길이 strlen wcslen strlen(a) a의 길이를 반환한다. 문자열 붙이기(잇기) strcat wcscat strcat(a,b); b를 a뒤에 붙여서 a에 저장한다. strncat wcsncat strcat(a,b,c); b를 a뒤에 c만큼 붙여서 a에 저장한다. 이정도만 봐도 나머지 함수들의 이름.. 2012. 11. 10.