1.ini 파일이란
ini파일은 보통 프로그램의 정보를 저장하는 텍스트 문서를 말한다.
다음 함수 들은 이를 수행할 수 있게 도와 주는 함수 들이다.
GetPrivateProfileInt
GetPrivateProfileString
WritePrivateProfileString
꼭 ini파일만을 위한 것은 아니다. 확장자는 자신이 원하는 대로 하면 된다.
ini파일의 구성은 다음과 같다.
[section1]
key1=value1
key2=value2
[section2]
key1=value1
key2=value2
section과 key로 각 설정값을 구별한다.
간단한 예로 Host의 ip값을 "127.0.0.1"이라 하고 port 값을 30이라 한다면
[HOST]
ip = 127.0.0.1
port = 30
이런 씩으로 적어 두면 된다.
2. ini파일 읽기
c:\test.ini파일에 다음과 같은 내용을 입력하자.
[HOST]
ip = 127.0.0.1
port = 30
이를 읽는 방법은 아주 간단하다.
----------------------------------------------------------------------------
#include <windows.h>
#include <stdio.h>
void main()
{
int nport = 0;
char sIp[100];
memset(sIp,0,100);
nport = GetPrivateProfileInt("HOST","port",9999,"c:\\test.ini");
GetPrivateProfileString("HOST","ip","MSG_ERROR",sIp,100,"c:\\test.ini");
printf("%s:%d\n",sIp,nport);
}
----------------------------------------------------------------------------
앞의 예제의 결과는 화면에 127.0.0.1:30이 출력된다.
3.ini 파일 쓰기
쓰기 함수는 String만 존재한다. 결국 파일에 들어가면 다 String이니 하나만
만든거 같다. 다음은 간단한 함수 사용 법이다.
WritePrivateProfileString("HOST2","ip2","192.168.10.1","c:\\test.ini")
test.ini파일에 "HOST2" 라는 Section이 하나 더 생기기고
"ip2"의 값에 "192.168.10.1" 들어가 있는 것을 볼 수 있다.
4. ini파일 삭제
삭제 함수는 따로 존재 하지 않고 WritePrivateProfileString함수의 value값을
NULL로 하면 그 Key는 사라 진다.
WritePrivateProfileString("HOST2","ip2",NULL,"c:\\test.ini")
Section을 삭제 할려면 어떻게 해야 할까? 눈치가 빠른 사람이라면 알것이다.
key값에 NULL을 넣어 주면 Section자체가 삭제 된다.
WritePrivateProfileString("HOST2",NULL,NULL,"c:\\test.ini")
'Language > C#' 카테고리의 다른 글
Microsoft Public License (MS-PL) (0) | 2016.02.04 |
---|---|
Winform에서 키 이벤트 안먹음 (0) | 2016.02.04 |
ToString(IFormatProvider provider) 형식 (0) | 2016.02.04 |
WPF 예제 샘플 (0) | 2016.02.04 |
[C#] PrintDocument 이용한 다중 페이지 출력 (0) | 2016.02.04 |