IT 취미생활.  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
ini 설정 파일에 특정 value 얻어오기

linux에서도 이런 API가 있는지 모르겠어서
하나 간단하게 함수로 만들어 보았습니다.

머리가 나쁜면 손발이 고생한다고 하는데 -0-;
필요하신 분들이 있으면 잘 활용하셔요!

예외 처리등이 부실하니, 좀더 낳은 버전으로 수정 하시면
피드백 부탁 드리겠습니다.

그럼 고운하루 되세요.

/*
 * ex) test.ini
 *     [Data]
 *     value= 30
 *     .....
 *
 * ex) GetProfileToString("[Data]", "value=", buffer, "/tmp/test.ini");
 * 텍스트로 작성된 ini 등 에서 특정 섹션의 값을 읽어 온다.
 */
void GetProfileToString(char *section, char *keyName, char *string, char *fileFullPath)
{
    char tempBuffer[MAX_PATH] = { 0 };
    char *result = NULL;
    FILE *fp = fopen(fileFullPath, "rt");
    if (fp == NULL) {
        goto FINALLY;
    }
    while (fgets((char *)tempBuffer, MAX_PATH, fp)) {
        if (0 == strncmp(section, tempBuffer, strlen(section))) {
            memset(tempBuffer, 0, MAX_PATH);
            while (fgets((char *)tempBuffer, MAX_PATH, fp)) {
                if(tempBuffer[0] == '[') {
                    goto FINALLY;
                }
               
                if(0 == strncmp(keyName, tempBuffer, strlen(keyName))) {
                    char *p = (char*)tempBuffer;
                    p += strlen(keyName);
                    memcpy(string, p, strlen(keyName));
                    fclose(fp);
                    return;
                }
            }
        }
        memset(tempBuffer, 0, MAX_PATH);
    }
FINALLY:
    if (fp) {
        fclose(fp);
    }
    string = result;
}


BLOG main image
취미생활
 Notice
 Category
분류 전체보기 (191)
매일매일갱생 (83)
서버개발 (1)
임베디드개발 (12)
Programming (80)
Personal Projects (6)
유용한 프로그램 (0)
 TAGS
Error Case spam mail Java Wince5.0 음식 DVB English ISDB-T debugging 1seg VC++ Linux project 서태지 DirectShow 영어 이메일 C++ Debug 미라지폰 DVB-T Algorithm MP3 벨소리 변경 It 퇴사 알고리즘 Windows Mobile6.0 warning 출장 Dshow 개발자 군대 M480 isdbt C Brazil 티스토리초대 티스토리 초대장 english email
 Calendar
«   2025/05   »
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 31
 Recent Entries
 Recent Comments
 Recent Trackbacks
 Archive
 Link Site
zextor
괴짜 프로그래머의 일상사~@@
Gag & Peace, and more..
Kazakhstan Almaty.......
Min-A
Sadgarret
Steve Yoon's log
가슴 뛰는 삶을 살아라
오스틴 파워
GUI sin
melanie parker_Lady
제레미의 TV 2.0 이야기..
 Visitor Statistics
Total :
Today :
Yesterday :
rss