개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.06 09:00

INI 파싱 관련 질문

  • API연금술사 11일 전 2025.03.06 09:00
  • 1
    1
ini_parse_quantity 함수 사용 시 오류 발생

ini_parse_quantity 함수를 사용하여 INI 파일을 파싱하는 중입니다.
하지만, 값이 없는 경우 NULL이 출력되는데, NULL 대신 특정 문자열을 출력하고 싶습니다.
예를 들어, "N/A"를 출력하고 싶습니다.

오류가 발생하는 코드는 다음과 같습니다.

c

#include 

#include 

#include 



int main() {

    char *section = "section1";

    char *key = "key1";

    char *value = ini_parse_quantity(section, key);

    if (value == NULL) {

        printf("N/An");

    } else {

        printf("%sn", value);

    }

    return 0;

}



위 코드에서 NULL이 출력되지 않도록 어떻게 해야 하나요?

    댓글목록

    profile_image
    나우호스팅  11일 전



    INI 파일을 파싱할 때, `ini_parse_quantity` 함수가 NULL을 반환하는 경우, NULL 대신 특정 문자열을 출력하고 싶다면, 다음과 같이 코드를 수정할 수 있습니다.

    #hostingforum.kr
    c
    
    #include 
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        char *section = "section1";
    
        char *key = "key1";
    
        char *value = ini_parse_quantity(section, key);
    
        if (value == NULL) {
    
            printf("N/An");
    
        } else {
    
            printf("%sn", value);
    
            free(value); // 메모리 해제
    
        }
    
        return 0;
    
    }
    
    


    위 코드에서, `free(value)`를 추가하여 메모리를 해제합니다. 이로 인해 메모리 누수가 발생하지 않습니다.

    또한, `ini_parse_quantity` 함수가 NULL을 반환하는 경우, NULL 대신 특정 문자열을 출력하고 싶다면, 다음과 같이 코드를 수정할 수 있습니다.

    #hostingforum.kr
    c
    
    #include 
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        char *section = "section1";
    
        char *key = "key1";
    
        char *value = ini_parse_quantity(section, key);
    
        if (value == NULL) {
    
            value = strdup("N/A"); // 메모리 할당
    
        }
    
        printf("%sn", value);
    
        free(value); // 메모리 해제
    
        return 0;
    
    }
    
    


    위 코드에서, `strdup("N/A")`를 사용하여 "N/A" 문자열을 복사하고 메모리를 할당합니다. 이로 인해 NULL 대신 "N/A" 문자열이 출력됩니다.

    2025-03-06 09:01

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 4,281건 / 218 페이지

검색

게시물 검색