다음을 통해 공유


VarParseNumFromStr 함수(oleauto.h)

문자열을 구문 분석하고 나타내는 숫자에 대한 형식 독립적 설명을 만듭니다.

구문

HRESULT VarParseNumFromStr(
  [in]  LPCOLESTR strIn,
  [in]  LCID      lcid,
  [in]  ULONG     dwFlags,
  [out] NUMPARSE  *pnumprs,
  [out] BYTE      *rgbDig
);

매개 변수

[in] strIn

변환할 입력 문자열입니다.

[in] lcid

로캘 식별자입니다.

[in] dwFlags

호출자가 구문 분석을 제어할 수 있도록 하므로 숫자의 허용 가능한 구문을 정의합니다. 이 필드가 0으로 설정된 경우 입력 문자열은 소수 자릿수만 포함해야 합니다. 정의된 각 플래그 비트를 설정하면 해당 구문 기능을 구문 분석할 수 있습니다. 표준 자동화 구문 분석(예: VarI2FromStr에서 사용)에는 모든 플래그 집합(NUMPRS_STD)이 있습니다.

[out] pnumprs

구문 분석된 결과입니다.

[out] rgbDig

숫자가 8진수, 10진수 또는 16진수인지에 따라 0~7, 0~9 또는 0~15 범위의 숫자 값입니다. 모든 선행 0이 제거되었습니다. 10진수의 경우 숫자가 0이 아니면 후행 0도 제거됩니다. 이 경우 한 자리가 0자리가 됩니다.

반환 값

이 함수는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
E_OUTOFMEMORY
내부 메모리 할당에 실패했습니다. (DBCS에만 사용되며 모든 와이드 문자가 좁게 매핑된 복사본을 만듭니다.)
DISP_E_TYPEMISMATCH
문자열에 유효한 숫자가 없거나 여는 괄호와 일치하는 닫는 괄호가 없습니다. 이전의 경우 NUMPARSE 구조에서 cDig 및 cchUsed는 0이 됩니다. 후자의 경우 닫는 괄호가 있는 것처럼 NUMPARSE 구조 및 숫자 배열이 완전히 업데이트됩니다.
DISP_E_OVERFLOW
16진수 및 8진수의 경우 배열에 맞는 것보다 더 많은 숫자가 있습니다. 10진수의 경우 지수가 가능한 최대값을 초과합니다. 두 경우 모두 NUMPARSE 구조체와 숫자 배열이 완전히 업데이트됩니다(10진수의 경우 cchUsed 필드는 전체 지수를 제외).

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 oleauto.h
라이브러리 OleAut32.lib
DLL OleAut32.dll