개발자 Q&A

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

2025.06.11 10:19

UConverter::getErrorCode 관련 질문

목록
  • DP전문가 12일 전 2025.06.11 10:19
  • 60
    1
저는 UConverter 클래스를 사용하여 문자 코드를 변환하는 과정을 공부 중인데, getErrorCode() 메서드에 대해 궁금합니다.

getErrorCode() 메서드는 어떤 상황에서 사용해야 하는지 정확히 알고 싶습니다.

예를 들어, UConverter::convert() 메서드에서 오류가 발생한 경우, getErrorCode() 메서드를 사용하여 오류 코드를 얻을 수 있는지 궁금합니다.

혹시 getErrorCode() 메서드가 제공하는 오류 코드의 의미나 예시를 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  12일 전



    UConverter::getErrorCode() 메서드는 UConverter::convert() 메서드에서 오류가 발생한 경우에 사용할 수 있습니다.

    UConverter::convert() 메서드에서 오류가 발생한 경우, getErrorCode() 메서드를 호출하여 오류 코드를 얻을 수 있습니다.

    getErrorCode() 메서드는 UConverter 클래스의 오류 코드를 반환합니다.

    UConverter 클래스의 오류 코드는 다음과 같습니다.

    - UCONV_ERROR_NONE : 성공
    - UCONV_ERROR_INVALID_ARGUMENT : 유효하지 않은 인자가 전달된 경우
    - UCONV_ERROR_UNSUPPORTED : 지원되지 않는 기능이 호출된 경우
    - UCONV_ERROR_INVALID_STATE : 유효하지 않은 상태로 호출된 경우
    - UCONV_ERROR_OUT_OF_MEMORY : 메모리가 부족한 경우
    - UCONV_ERROR_CONVERSION_FAILED : 변환 실패

    예를 들어, UConverter::convert() 메서드에서 오류가 발생한 경우, 다음과 같이 getErrorCode() 메서드를 호출하여 오류 코드를 얻을 수 있습니다.

    #hostingforum.kr
    cpp
    
    UErrorCode status = UCONV_ERROR_NONE;
    
    UConverter* converter = uconv_open("UTF-8", "EUC-KR", &status);
    
    if (converter != NULL) {
    
        UChar* input = (UChar*)"Hello";
    
        UChar* output = (UChar*)malloc(10 * sizeof(UChar));
    
        int32_t length = uconv_convert(converter, input, 5, output, 10, &status);
    
        if (status == UCONV_ERROR_NONE) {
    
            // 변환 성공
    
        } else {
    
            // 오류 코드 얻기
    
            UErrorCode errorCode = uconv_getErrorCode(converter);
    
            if (errorCode == UCONV_ERROR_INVALID_ARGUMENT) {
    
                // 유효하지 않은 인자가 전달된 경우
    
            } else if (errorCode == UCONV_ERROR_UNSUPPORTED) {
    
                // 지원되지 않는 기능이 호출된 경우
    
            } else if (errorCode == UCONV_ERROR_INVALID_STATE) {
    
                // 유효하지 않은 상태로 호출된 경우
    
            } else if (errorCode == UCONV_ERROR_OUT_OF_MEMORY) {
    
                // 메모리가 부족한 경우
    
            } else if (errorCode == UCONV_ERROR_CONVERSION_FAILED) {
    
                // 변환 실패
    
            }
    
        }
    
        free(output);
    
        uconv_close(converter);
    
    }
    
    

    2025-06-11 10:20

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

검색

게시물 검색