본문 바로가기
프로그래밍/Windows API

INI 파일 제어 함수 (Get...Profile... / Write...Profile...)

by 호군 2010. 11. 4.
반응형

INI파일은 단순 구조의 텍스트 파일로 이루어져 있는 설정 파일이다. INI파일의 확장자는 ".INI"라는 파일 확장자를 사용 하지만, ".CFG", ".conf", ".TXT" 등의 다른 확장자를 사용하기도 한다고 한다.

○ INI 파일의 형식
 INI파일은 섹션, 매개변수, 주석으로 세 부분으로 구성되어있다.
섹션은 한개 이상의 매개변수의 집합의 이름이라고 할 수 있다. 섹션의 이름은 괄호([,])로 구분된다. 매개변수는 키와 값으로 구성되어있다. 등호(=)로 좌측은 키, 우측은 값으로 표현한다. 주석은 세미콜론(;)으로 주석의 시작을 알리고, 그 줄의 끝 부분까지를 주석으로 처리한다.

 ; 홍길동이 2001년 4월 1일에 마지막으로 수정하였음
[owner]
name=홍길동
organization=최고의 제품

[database]
server=192.0.2.42     ; 네트워크 이름 해상도가 동작하지 않는 경우 IP 주소를 사용한다
port=143
file = "acme payroll.dat"
출처 : 위키피디아( http://ko.wikipedia.org/wiki/INI_%ED%8C%8C%EC%9D%BC )


○ INI파일 관련 함수

DWORD WINAPI GetProfileString(
  __in   LPCTSTR lpAppName,
  __in   LPCTSTR lpKeyName,
  __in   LPCTSTR lpDefault,
  __out  LPTSTR lpReturnedString,
  __in   DWORD nSize
);
 

Parameter

lpAppName
      키를 담고있는 섹션의 이름이다.

lpKeyName
      받고자 하는 문자열과 연결된 키의 이름이다. 

lpDefault
      lpKeyName으로 넘겨 준 키를 찾을 수 없다면 lpReturnedString 버퍼에 lpDefault의 값을
      복사한다. 만약 NULL로 설정하면, "" 문자열이 복사된다.

lpReturnedString
      키에 대한 값이 복사 될 문자열 버퍼의 포인터이다.


nSize
      문자열 버퍼의 크기이다.




UINT WINAPI GetProfileInt(
  __in  LPCTSTR lpAppName,
  __in  LPCTSTR lpKeyName,
  __in  INT nDefault
);

Parameter

lpAppName

      키를 담고있는 섹션의 이름이다.

lpKeyName
      받고자 하는 값과 연결된 키의 이름이다. 

nDefault
      lpKeyName으로 넘겨 준 키를 찾을 수 없다면, lpDefault의 값을 반환한다. 




DWORD WINAPI GetPrivateProfileString(
  __in   LPCTSTR lpAppName,
  __in   LPCTSTR lpKeyName,
  __in   LPCTSTR lpDefault,
  __out  LPTSTR lpReturnedString,
  __in   DWORD nSize,
  __in   LPCTSTR lpFileName
);

Parameter

lpAppName

      키를 담고있는 섹션의 이름이다.

lpKeyName
      받고자 하는 값과 연결된 키의 이름이다. 

nDefault
      [ToDo]

lpReturnedString
      [ToDo]

nSize
      [ToDo]


lpFileName
      [ToDo]










UINT WINAPI GetPrivateProfileInt(
  __in  LPCTSTR lpAppName,
  __in  LPCTSTR lpKeyName,
  __in  INT nDefault,
  __in  LPCTSTR lpFileName
);

lpAppName
      키를 담고있는 섹션의 이름이다.

lpKeyName
      받고자 하는 값과 연결된 키의 이름이다. 

nDefault
      [ToDo]

lpFileName
      [ToDo]






BOOL WINAPI WriteProfileString(
  __in  LPCTSTR lpAppName,
  __in  LPCTSTR lpKeyName,
  __in  LPCTSTR lpString
);

lpAppName
      키를 담고있는 섹션의 이름이다.

lpKeyName
      받고자 하는 값과 연결된 키의 이름이다. 

lpString
      [ToDo]




BOOL WINAPI WritePrivateProfileString(
  __in  LPCTSTR lpAppName,
  __in  LPCTSTR lpKeyName,
  __in  LPCTSTR lpString,
  __in  LPCTSTR lpFileName
);

lpAppName
      키를 담고있는 섹션의 이름이다.

lpKeyName
      받고자 하는 값과 연결된 키의 이름이다. 

lpString
      [ToDo]

lpFileName
      [ToDo]


반응형