티스토리 뷰

Visual Studio 2012 사용


INI 파일을 생성하여 값을 저장하거나 불러오자.

간단하게 문자열을 기준으로 테스트한다.


1. 값 저장하기

1) 함수 원형

BOOL WritePrivateProfileStringA(
  LPCSTR lpAppName,
  LPCSTR lpKeyName,
  LPCSTR lpString,
  LPCSTR lpFileName
);

lpAppName: INI 파일 섹션 이름

lpKeyName: INI 파일 키 이름

lpString: INI 파일 키 값

lpFileName: INI 파일 이름


위의 방식으로 INI 파일 저장시 파일 내부는 아래와 같이 표현된다.

[lpAppName]
lpKeyName=lpString


2) 함수 사용

void CTestDlg::OnBnClickedBtnIni()
{
  CString strPathIni = "D:\\test.ini";
  ::WritePrivateProfileString("SectionA","Say","hoho1",strPathIni);
}


위와 같이 적용할 경우, "D:\test.ini" 파일이 생성되고 그 파일 내용은 아래와 같이 저장된다.

[SectionA]
Say=hoho1


2. 값 불러오기

1) 함수 원형

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

lpAppName: 섹션 이름

lpKeyName: 키 이름

lpDefault: 키 기본 설정값. 만약 lpKeyName 이름이 들어간 키가 파일 내에 없다면 이 값을 lpReturnedString에 넣게 되어있음(아무것도 없다면 NULL로 설정됨)

lpReturnedString: 키 값을 받을 버퍼 포인터

nSizelpReturnedString로 반환할 버퍼의 사이즈 값

lpFileName: INI 파일 이름


2) 함수 사용

void CTestDlg::OnBnClickedBtnIniLoad()
{
  TCHAR strReadIni1[20]={0};
  TCHAR strReadIni2[20]={0};
  CString strPathIni = "D:\\test.ini";
  ::GetPrivateProfileString("SectionA", "Say", "hehe2", strReadIni1, 20, strPathIni);
  ::GetPrivateProfileString("SectionA", "Sad", "hehe2", strReadIni2, 20, strPathIni);
}

 위와 같이 적용 할 경우, strReadIni1에는 "hoho1" 문자열 값이 들어오게 되고, Sad라는 키가 없기 때문에 strReadIni2에는 "hehe2" 문자열 값이 입력된다.




댓글