Programming/MFC(C++)
[MFC] INI 파일 활용 하기(문자열 값 저장/불러오기)
Zadd
2018. 12. 17. 11:10
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: 키 값을 받을 버퍼 포인터
nSize: lpReturnedString로 반환할 버퍼의 사이즈 값
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" 문자열 값이 입력된다.
끝