본문 바로가기

API

FindFirstFile, FindNextFile, FindClose 예제 #include #include #include #include #include void main() { TCHAR szTemp[512]; // 임시 버퍼 TCHAR szPathBuffer[MAX_PATH]; // 사용자로부터 입력 TCHAR szPathPattern[MAX_PATH]; // 검색 패턴 DWORD i; // 인덱스 변수 HANDLE hItem; // 검색 핸들 WIN32_FIND_DATA findData; // 파일 정보 setlocale(LC_ALL, ".949"); _tprintf(TEXT("디렉터리 경로를 입력해 주세요. (입력 예: C: 또는 C:\\My Documents)\n\r")); _tprintf(TEXT("입력 >> ")); #if defined(_UNICODE) || d.. 더보기
C언어 표준 문자열 관련 함수 – ANSI, Wide Char별 함수 이름 정리 C 언어 표준 문자열 관련 함수 ANSI, Wide Char 별 함수 이름 정리 - by Tapitolife C언어에는 문자열 처리 방식이 크게 4가지가 있습니다. SBCS: 1글자의 크기가 1바이트인 문자세트입니다. 흔히 쓰는 ASCII 코드라고 보면 됩니다. 이 경우 한글을 포함한 로마자 외 다른 글자는 지원되지 않습니다. (도스를 생각하시면 되겠네요.) DBCS: 1글자의 크기가 2바이트인 문자세트입니다. 유니코드를 이야기하지는 않습니다. SBCS로 나타내기에는 너무 많은 글자들을 표현하는 방식으로 KS-X-1001과 같은 코드가 대표적입니다. MBCS: 문자의 종류에 따라 1글자의 크기가 다른 문자세트입니다. SBCS + DBCS의 짬뽕인데요. 아마 컴퓨터 처음 배우셨을 때 들으셨을 내용. 한글은.. 더보기
코드 컨벤션 정리 – 낙타, 파스칼, 헝가리안 코드 컨벤션 정리. 낙타 케이싱, 파스칼 케이싱, 헝가리안 표기법 - by Tapitolife 좋은 프로그래밍 습관을 만들기 위해 총 2편으로 좋은 코드 컨벤션을 정리 해 보았습니다. 그냥 거두절미하고 여기 첫 번째 포스팅에서는 변수 표기법에 대해 정리해 보았습니다. ▶ 변수명 표기법 상용 프로그램 하나 만들기 위해서 보통 여러 명의 개발자가 수 백만 라인의 코드를 작성합니다. 이 때 개발자들은 필요에 따라 변수, 상수, 함수 등을 선언합니다. 그런데 이때 문제가 생깁니다. ▶ 첫 번째 문제 상황 – 데이터 형의 혼란 개발자 여럿이 모여 수백만 라인의 코드를 작성하다 보면 자연스럽게 수 많은 변수/함수들이 선언됩니다. 이 때 그것들을 사용함에 있어 혼돈의 소지가 있습니다. "지금 이게 전역 변수였나?",.. 더보기
기능별로 묶어보는 레지스트리 함수 – 5편. 값의 조회/추가/수정/삭제 기능별로 묶어보는 레지스트리 함수. 5편. 값의 조회/추가/수정/삭제 - by Tapitolife 기본 값을 다뤄 보았다면 이제 이름을 갖는 다양한 형식의 값을 다뤄봅니다. — RegEnumValue 지정한 키가 가지고 있는 모든 값의 이름들을 가져옵니다. LONG WINAPI RegEnumValue( __in HKEY hKey, __in DWORD dwIndex, __out LPTSTR lpValueName, __inout LPDWORD lpcchValueName, __reserved LPDWORD lpReserved, __out_opt LPDWORD lpType, __out_opt LPBYTE lpData, __inout_opt LPDWORD lpcbData ); ○ hKey: 값들의 이름을 조회할 .. 더보기
기능별로 묶어보는 레지스트리 함수 – 4편. 기본값의 조회/수정 기능별로 묶어보는 레지스트리 함수. 4편. 기본값의 조회/수정 - by Tapitolife 키의 기본적인 조작을 해 보았다면 이제 기본 값을 다뤄봅니다. 기본 값이란 레지스트리 편집기 상에 나타나는 키(Key)가 갖고 있는 여러 개의 값 중에 이름이 없이 그냥 (기본 값)이라고만 나와 있는 것 문자열 형식의 값입니다. 뭐 이런 거죠 기본 값을 다루는 함수에는 다음과 같은 것이 있습니다. — RegQueryValue 지정한 키의 기본 값을 가져옵니다. LONG WINAPI RegQueryValue( __in HKEY hKey, __in_opt LPCTSTR lpSubKey, __out_opt LPTSTR lpValue, __inout_opt PLONG lpcbValue ); ○ hKey: 기본 값을 가져올.. 더보기
기능별로 묶어보는 레지스트리 함수 – 3편. 키의 조회/생성/삭제 기능별로 묶어보는 레지스트리 함수. 3편. 키의 조회/생성/삭제 - by Tapitolife (이 포스팅은 다음과 같은 사이트를 참고하여 작성되었습니다.) MSDN Registry Functions (Windows): http://msdn.microsoft.com/en-us/library/ms724875(v=VS.85).aspx 키를 열고 닫아 보았다면, 이제 그 사이에 뭔가를 해 봐야겠죠. ㅋㅋ 이번에는 서브키들의 목록을 조회하고, 생성/삭제를 해 봅니다. — RegEnumKey 지정한 키의 서브키들을 조회합니다. LONG WINAPI RegEnumKey( __in HKEY hKey, __in DWORD dwIndex, __out LPTSTR lpName, __in DWORD cchName ); ○ h.. 더보기
기능별로 묶어보는 레지스트리 함수 – 2편. 키의 열기/닫기 기능별로 묶어보는 레지스트리 함수. 2편. 키의 열기/닫기 - by Tapitolife (이 포스팅은 다음과 같은 사이트를 참고하여 작성되었습니다.) MSDN Registry Functions (Windows): http://msdn.microsoft.com/en-us/library/ms724875(v=VS.85).aspx 아래 함수는 키의 열고 닫기를 수행하는 기본적인 함수입니다. 파일을 다루기 위해서는 스트림을 통해 특정 파일을 열고, 작업하고, 닫는 것처럼 레지스트리도 '키'의 단위로 열고, 작업하고, 닫는 순서로 다뤄주시면 되겠습니다. — RegOpenKey 지정한 위치의 키를 엽니다. LONG WINAPI RegOpenKey( __in HKEY hKey, __in_opt LPCTSTR lpSub.. 더보기
기능별로 묶어보는 레지스트리 함수 – 1편. 완전 간단 레지스트리 소개 기능별로 묶어보는 레지스트리 함수. 1편. 완전 간단 레지스트리 소개 - by Tapitolife 레지스트리는 다음과 같이 구성 되어 있습니다. ▶ 키(Key): 일종의 폴더라고 보면 됩니다. 5개의 기본 키가 있으며 그 아래 트리 구조로 서브키들이 있습니다. 5개의 기본 키는 각각 다음과 같은 용도로 쓰입니다. * HKEY_CLASSES_ROOT: (약칭 HKCR) 파일 확장명과 그 확장명에 대한 연결 프로그램을 다룹니다. * HKEY_CURRENT_USER: (약칭 HKCU) 사용자가 구성한 윈도우 환경이 저장됩니다. 예를 들면, 효과음, 내게 필요한 옵션과 같은 주로 제어판에서 설정한 것들이 여기에 저장되죠. * HKEY_LOCAL_MACHINE: (약칭 HKLM) 윈도우 부팅에 필요한 장치 정보들.. 더보기