파일에 쓸때:
- 형식:
WritePrivateProfileStringA(
LPCWSTR lpAppName,
LPCWSTR lpKeyName,
LPCWSTR lpString,
LPCWSTR lpFileName
);
- 사용법:
WritePrivateProfileString("카테고리", "파라메터", 저장하고자하는항목(변수), ini파일의 위치);
실 사용 예:
char szCurDir[256] = {NULL, };
int port;
CString strPort;
GetCurrentDirectory(256, szCurDir);
strcat(szCurDir, "\\server.ini");
strPort.Format("%d", port);
WritePrivateProfileString("Server", "Port", m_nPort, szCurDir);
strMsg.Format("%d", size);
파일로부터 읽어올때:
- 형식:
GetPrivateProfileStringA(
LPCSTR lpAppName,
LPCSTR lpKeyName,
LPCSTR lpDefault,
LPSTR lpReturnedString,
DWORD nSize,
LPCSTR lpFileName
);
- 사용법:
GetPrivateProfileString("카테고리", "파라메터", "기본값", 저장할곳, 읽어올바이트수, ini파일의 위치);
실 사용 예:
CString strButt;
int port, m_nPort;
char szBuffer[256] = {NULL , };
char szCurDir[256] = {NULL, };
GetCurrentDirectory(256, szCurDir);
strcat(szCurDir, "\\server.ini");
GetPrivateProfileString("Server", "Port", "15000", szBuffer, 256, szCurDir);
strBuff.Format("%s", szBuffer);
port = atoi(szBuffer);
m_nPort.Format("%d", port);
- lpAppName : 값을 가져올 키가 속해있는 [섹션]의 문자열입니다.
- lpKeyName : 값을 가져올 키를 의미합니다.
- lpDefault : 해당되는 값이 없을 경우, 기본값으로 리턴할 문자열(키값)을 입력합니다.
- lpReturnedString : 문자열을 리턴할 String입니다. 보통은 (char *)형식으로 값을 넣으시면 되지만, 여기서는 vs 2005가 유니코드 형식을 이용하므로 (TCHAR *)을 이용하도록 하겠습니다.
- nSize : 가져올 키값의 길이입니다. 적당한 길이로 입력해주시면 상관 없습니다 :)
- lpFileName : 읽어올 ini파일의 경로입니다.
[INPUT]섹션의 inputDevice 키값을 가져오려면 -
- lpAppName : 값을 입력할 키가 속해있는 [섹션]의 문자열입니다.
- lpKeyName : 값을 입력할키를 의미합니다.
- lpString : 쓸 키 값입니다. vs 2005에서는 유니코드 형식으로 입력해 주셔야 합니다.
- lpFileName : 쓸 ini파일의 경로입니다.
[INPUT]섹션의 inputDevice 키값을 수정하려면 -
- 형식:
WritePrivateProfileStringA(
LPCWSTR lpAppName,
LPCWSTR lpKeyName,
LPCWSTR lpString,
LPCWSTR lpFileName
);
- 사용법:
WritePrivateProfileString("카테고리", "파라메터", 저장하고자하는항목(변수), ini파일의 위치);
실 사용 예:
char szCurDir[256] = {NULL, };
int port;
CString strPort;
GetCurrentDirectory(256, szCurDir);
strcat(szCurDir, "\\server.ini");
strPort.Format("%d", port);
WritePrivateProfileString("Server", "Port", m_nPort, szCurDir);
strMsg.Format("%d", size);
파일로부터 읽어올때:
- 형식:
GetPrivateProfileStringA(
LPCSTR lpAppName,
LPCSTR lpKeyName,
LPCSTR lpDefault,
LPSTR lpReturnedString,
DWORD nSize,
LPCSTR lpFileName
);
- 사용법:
GetPrivateProfileString("카테고리", "파라메터", "기본값", 저장할곳, 읽어올바이트수, ini파일의 위치);
실 사용 예:
CString strButt;
int port, m_nPort;
char szBuffer[256] = {NULL , };
char szCurDir[256] = {NULL, };
GetCurrentDirectory(256, szCurDir);
strcat(szCurDir, "\\server.ini");
GetPrivateProfileString("Server", "Port", "15000", szBuffer, 256, szCurDir);
strBuff.Format("%s", szBuffer);
port = atoi(szBuffer);
m_nPort.Format("%d", port);
==========================================================================================
INI 파일 구조:
ex>
[INPUT] // 섹션
inputDevice = 255 // 키 = 키값
GetPrivateProfileString
DWORD WINAPI GetPrivateProfileString( __in LPCTSTR lpAppName, __in LPCTSTR lpKeyName, __in LPCTSTR lpDefault, __out LPTSTR lpReturnedString, __in DWORD nSize, __in LPCTSTR lpFileName );
- lpAppName : 값을 가져올 키가 속해있는 [섹션]의 문자열입니다.
- lpKeyName : 값을 가져올 키를 의미합니다.
- lpDefault : 해당되는 값이 없을 경우, 기본값으로 리턴할 문자열(키값)을 입력합니다.
- lpReturnedString : 문자열을 리턴할 String입니다. 보통은 (char *)형식으로 값을 넣으시면 되지만, 여기서는 vs 2005가 유니코드 형식을 이용하므로 (TCHAR *)을 이용하도록 하겠습니다.
- nSize : 가져올 키값의 길이입니다. 적당한 길이로 입력해주시면 상관 없습니다 :)
- lpFileName : 읽어올 ini파일의 경로입니다.
[INPUT]섹션의 inputDevice 키값을 가져오려면 -
TCHAR str[255] = {NULL, };
GetPrivateProfileString( "INPUT", "inputDevice", "0", str, 255, ".\\config_caster.ini")
GetPrivateProfileString( "INPUT", "inputDevice", "0", str, 255, ".\\config_caster.ini")
WritePrivateProfileString
ini파일의 키값을 수정/입력할 때 쓰이는 함수입니다.BOOL WINAPI WritePrivateProfileString( __in LPCTSTR lpAppName, __in LPCTSTR lpKeyName, __in LPCTSTR lpString, __in LPCTSTR lpFileName );
- lpAppName : 값을 입력할 키가 속해있는 [섹션]의 문자열입니다.
- lpKeyName : 값을 입력할키를 의미합니다.
- lpString : 쓸 키 값입니다. vs 2005에서는 유니코드 형식으로 입력해 주셔야 합니다.
- lpFileName : 쓸 ini파일의 경로입니다.
[INPUT]섹션의 inputDevice 키값을 수정하려면 -
CString str;
str.Format(_T("%d"), 255);
WritePrivateProfileString( "INPUT", "inputDevice", str, ".\\config_caster.ini")
str.Format(_T("%d"), 255);
WritePrivateProfileString( "INPUT", "inputDevice", str, ".\\config_caster.ini")
출처 : http://kuna.wo.tc/942 << 예제파일도 존재함