INI 파일의 구조는 보통 다음과 같이 되어있습니다.
예) setup.ini
[Title1] Name=test.cpp Path=C:\temp\test.cpp Version=2.1.0.1 [Title2] Name=test.cpp Path=C:\temp\test.cpp Version=2.1.0.1 . . |
위 파일을 제어(읽기/쓰기)하려면 다음과 같은 함수를 사용합니다.
GetPrivateProfileString() : 파일에서 정보(문자열)를 읽어온다.
WritePrivateProfileString() : 파일에 정보(문자열)를 쓴다. 만약에 해당 섹션과 키값이 없으면 자동으로 생성한다.
각 함수의 원형은 다음과 같습니다.
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, // [Title1]과 같은 섹션(대제목)입니다.
LPCTSTR lpKeyName, // Name과 같은 키값(구성요소)입니다.
LPCTSTR lpDefault, // 섹션이름이나 키이름을 찾지 못하면 디폴트로 출력할 스트링입니다.
LPTSTR lpReturnedString, // Name과 같은 키값(구성요소)에서 가리키는 값(test.cpp)을 저장할 버퍼입니다.
DWORD nSize, // 키값을 저장할 버퍼의 사이즈입니다.
LPCTSTR lpFileName // INI 파일(setup.ini)의 경로입니다.
);
BOOL WritePrivateProfileString(
LPCTSTR lpAppName, // [Title1]과 같은 섹션(대제목)입니다.
LPCTSTR lpKeyName, // Name과 같은 키값(구성요소)입니다.
LPCTSTR lpString, // Name과 같은 키값(구성요소)에 작성할 정보(문자열)입니다.
LPCTSTR lpFileName // INI 파일(setup.ini)의 경로입니다.
);
사용법은 각 함수의 파라메터에 맞게 값을 넣어주면 됩니다.
예를 들면..
GetPrivateProfileString( "Title1", "Name", "No Info", inbuffer, sizeof(inbuffer), "C:\\temp\\setup.ini" );
//설명 : C:\\temp\\setup.ini 파일에서 Title1의 Name 값을 inbuffer 사이즈만큼 읽어와라,
Name값이 없으면 No Info값을 inbuffer에 저장하라.
WritePrivateProfileString( "Title1", "Name", outbuffer, "C:\\temp\\setup.ini" );
//설명 : C:\\temp\\setup.ini 파일에서 Title1의 Name 값을 outbuffer에 정보(문자열)를 써라.