달력

11

« 2018/11 »

  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
2010.05.10 21:58

API-ini파일 프로그래밍/API2010.05.10 21:58







특정 값이나, 상황, 옵션등을 설정하고 싶을 때, 프로그램 코드에서 설정하거나, 사용자에게 입력받는 방법도 존재 하지만,

모든 상황에 대해서 그 값을 입력받는다거나, 확인하는 작업이 그렇게 편리하지만은 않다.

그래서 존재 하는 것이 ini파일의 활용인데, (확장자만 바꾸면 꼭 ini가 아니여도 상관은 없지만, 보통 확장자를 ini로 많이 사용한다.)

크게 ini파일을 만들면,

세션 과 키값, 그리고 데이터로 분리된다.

[TEST1]
HP=1
MP=2

라는 식을 ini 파일이 가지고 있다고 했을 때

TEST1은 세션
HP, MP는 키값
1과 2는 데이터라고 보면 된다.

크게 어려운 것은 없고.

WritePrivateProfileString 를 사용해 세션을 만들고, 키 값을 만들고, 데이터를 삽입한다.

이 함수는 4개의 인자가 들어가는데, 세션, 키, 데이터, 파일의 (저장될)주소라고 보면 된다.

그리고
GetPrivateProfileString는
세션, 키, 데이터를 추출하지 못하였을때의 기본값, String의 저장 위치, 저장하는 곳의 공간, 파일의 주소
를 인자로 받게 되며 함수명에서 볼 수 있듯이, 파일에서 문자열을 받아 오기 위한 함수이다.

반대로
GetPrivateProfileInt는
세션, 키, 데이터가 저장된 장소, 파일의 주소를 인자라 보내주면
int형 값을 반환한다.

예제를 보면 훨씬 이해가 빠를 것이다.



소스를 실행하면, 경로에 의해 파일이 생성되고,
파일의 내용은

[TEST]
STR=This is Test
INT=92
[TEST2]
STR=This is Test
INT=92
[TEST3]
STR1=This iasdfs Test
INT1=921
STR2=Thisdfs is Test
INT2=912

다음과 같다.

// 실행 화면


A키를 누르고 S키를 누르게 되면 다음처럼 나온다.
만약 A키를 누르지 않고(즉 파일을 생성하지 않고) S키를 누르면

메시지는 ERROR,0 을 출력할 것이다.(단, 한번이라도 생성이 되었다면 파일이 삭제 되지 않는 이상은 옳바른 결과를 출력할 것이다.)

'프로그래밍 > API' 카테고리의 다른 글

API-GetAsyncKeyState( 키보드 입력함수 )  (1) 2010.06.28
API-ini파일  (1) 2010.05.10
API-알파값(비트맵 이미지 투명화)  (0) 2010.05.10
API-애니메이션  (0) 2010.05.10
API-PlaySound  (0) 2010.05.10
API-더블 버퍼링  (0) 2010.05.10
Posted by 안식의후크