ini파일??

wsung·2026년 1월 15일

ini 파일이란??

  • ini파일은 보통 프로그램 정보를 저장하는 텍스트 문서를 말한다
  • 레지스트리등등 프로그램을 저장하는 방법은 여러가지가 있지만 실무에서는 보통 ini파일을 생성해서 만든다고 한다

대체적으로 아래와 같이 작성함

[SERVER1]
SERVER_IP : 127.0.0.1
SERVER_NAME : admin
TCP_PORT = 3000
UDP_PORT = 3100

[SERVER2]
SERVER_IP : 127.0.0.1
SERVER_NAME : admin
TCP_PORT = 3000
UDP_PORT = 3100

(편의상 두 개의 section내용은 같다)

그리고 그것을 위해서 사용하는 함수가 존재
GetPrivateProfileInt
GetPrivateProfileString
WritePrivateProfileString

GetPrivateProfileInt

UNIT GetPrivateProfileInt(
	LPCTSTR lpAppName,
    LPCTSTR lpKeyName,
    INT		nDefault,
    LPCTSTR lpFileName
    );

lpAppName : section의 이름을 지정합니다
lpKeyName : 해당 section에서 가져 올 key값을 말합니다
nDEfault : 해당 key가 존재하지 않으면 쓰여질 값을 말합니다(default값)
lpFileName: File경로를 지정

GetPrivateProfileString

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

lpAppName: section의 이름을 지정합니다
lpKeyName: 해당 section에 존재하는 key를 지정
lpDefault: key가 존재하지않으면 지정해 줄 Default값 입니다(NULL을 반납하기 위해서 ""사용가능)
lpReturnedString: key를 통해서 얻은 value의 값을 얻기 위한 버퍼
nSize: return되는 value를 저장하기 위한 버퍼의 크기
lpFileName: ini파일의 경로를 지정합니다

WritePrivateProfileString
BOOL WritePrivateProfileString( LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString, LPCSTR lpFileName );
lpAppName : section을 지정합니다
lpKeyName : 해당 section의 key를 지정합니다
lpString : 해당 key의 value로 지정해 줄 값을 정합니다
lpFileName : ini파일의 경로를 지정해줍니다


C++ mfc에서의 ini파일

저장 대상 정보는 사용자 신상 위치 크기 오ㅠㅂ션 사용자의 설정 최근 연 파일 ㅇ목록 및 기타 동작에 필요한 모든 정보들이다.

단, 이런 설정 정보는 프로그램 자신의 정보일 뿐이지 사용자의 정보는 아니다.
=> INI 파일은 섹션, 키 , 키값으로 구성되있는 단순한 텍스트파일이다. 메모장으로 열어보면 쉽게 그 내용을 확인 할 수 있고 편집고 가능하다.

INI파일의 구성

섹션 : 정보의 종류에 따라 나누어 놓은 키의 그룹
키 : 저장할 정보의 이름
키 값 : 저장된 데이터

BOOL WritePrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpString, LPCTSTR lpFileName );

  • INI 파일에 정보를 저장할 때 쓰임
  • lpAppName : 정보를 기록 할 섹션 이름을 지정한다
  • lpkeyName : 정보를 기록할 키 이름을 지정하며 없을 경우 만든다
  • lpString : 키 값을 정의하는 문자열
  • lpString : 키 값을 정의하는 문자열이다
  • lpFileName : INI파일명을 지정한다
  • 저장이 성공할 경우 TRUE를 리턴하고 실패할 경우 에러값을 리턴

UINT GetPrivateProFileInt( LPCTSTR lpAppname, LPCTSTR lpKeyName INT nDefault, LPCTSTR lpFileName );

  • 정수로 되어있는 키 값을 읽어올 때 사용한다
  • 파일을 읽어올 때 해당 파일이나 섹션이나 키가 없을 경우 디폴트 값으로 불러올 수 있다.
  • nDefault : 지정한 디폴트 값을 읽는다

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

  • 문자열로 되어 있는 키 값을 읽어올 때 사용한다
  • 파일을 읽어올 때 해당 파일이나 섹션이나 키가 없을 경우 디폴트 값으로 불러올 수 있다.
  • lpReturnedString
    - 읽은 문자열을 대입받을 버퍼
  • nSize
    - 읽어올 버퍼의 크기이다
profile
0부터 시작하는 백엔드

0개의 댓글