다음을 통해 공유


FindStringOrdinal 함수(libloaderapi.h)

비언어적 비교를 위해 다른 유니코드 문자열에서 유니코드 문자열(와이드 문자)을 찾습니다.

구문

int FindStringOrdinal(
  [in] DWORD   dwFindStringOrdinalFlags,
  [in] LPCWSTR lpStringSource,
  [in] int     cchSource,
  [in] LPCWSTR lpStringValue,
  [in] int     cchValue,
  [in] BOOL    bIgnoreCase
);

매개 변수

[in] dwFindStringOrdinalFlags

찾기 작업의 세부 정보를 지정하는 플래그입니다. 이러한 플래그는 상호 배타적이며 FIND_FROMSTART 기본값입니다. 애플리케이션은 찾기 플래그 중 하나만 지정할 수 있습니다.

의미
FIND_FROMSTART
문자열의 첫 문자부터 시작하여 문자열을 검색합니다.
FIND_FROMEND
문자열의 마지막 문자부터 시작하여 문자열을 역방향으로 검색합니다.
FIND_STARTSWITH
lpStringValue로 지정된 값이 lpStringSource로 표시된 원본 문자열의 첫 번째 값인지 여부를 테스트합니다.
FIND_ENDSWITH
lpStringValue로 지정된 값이 lpStringSource로 표시된 원본 문자열의 마지막 값인지 확인하기 위해 테스트합니다.

[in] lpStringSource

함수가 lpStringValue로 지정된 문자열을 검색하는 원본 문자열에 대한 포인터입니다.

[in] cchSource

lpStringSource로 표시된 문자열의 종료 null 문자를 제외한 문자의 크기입니다. 애플리케이션은 일반적으로 양수 또는 0을 지정해야 합니다. 원본 문자열이 null로 종료되고 함수가 크기를 자동으로 계산해야 하는 경우 애플리케이션에서 -1을 지정할 수 있습니다.

[in] lpStringValue

함수가 원본 문자열에서 검색하는 검색 문자열에 대한 포인터입니다.

[in] cchValue

lpStringValue로 표시된 문자열의 종료 null 문자를 제외한 문자의 크기입니다. 애플리케이션은 일반적으로 양수 또는 0을 지정해야 합니다. 문자열이 null로 종료되고 함수가 크기를 자동으로 계산해야 하는 경우 애플리케이션에서 -1을 지정할 수 있습니다.

[in] bIgnoreCase

함수가 대/소문자를 구분하지 않는 비교를 수행하는 경우 TRUE이고, 그렇지 않으면 FALSE입니다. 비교는 언어 작업이 아니며 모든 로캘 및 언어에 적합하지 않습니다. 해당 동작은 영어의 경우와 비슷합니다.

반환 값

성공하면 lpStringSource 가 나타내는 원본 문자열에 0 기반 인덱스 를 반환합니다. 함수가 성공하면 찾은 문자열은 lpStringValue 값과 같은 크기입니다. 반환 값이 0이면 함수가 원본 문자열의 시작 부분에서 일치하는 항목을 찾았습니다.

함수가 성공하지 못하거나 검색 문자열을 찾을 수 없는 경우 -1을 반환합니다. 확장 오류 정보를 가져오기 위해 애플리케이션은 GetLastError를 호출할 수 있으며, 다음 오류 코드 중 하나를 반환할 수 있습니다.

  • ERROR_INVALID_FLAGS. 플래그에 제공된 값이 잘못되었습니다.
  • ERROR_INVALID_PARAMETER. 매개 변수 값이 잘못되었습니다.
  • ERROR_SUCCESS. 작업이 성공적으로 완료되었지만 결과가 생성되지 않았습니다.

설명

FindStringOrdinal은 이진 비교를 제공하므로 언어적으로 적절한 결과를 반환하지 않습니다. 서수 비교는 영어 정렬 동작으로 오인될 수 있습니다. 그러나 문자가 언어적으로 미미한 양에 따라 달라지는 경우 일치 항목을 찾을 수 없습니다. 적절한 정렬 함수를 선택하는 방법에 대한 자세한 내용은 정렬 을 참조하세요.

실패에 대해 0을 반환하는 NLS 함수와 달리 이 함수는 실패하면 -1을 반환합니다. 성공하면 0 기반 인덱스가 반환됩니다. 이 인덱스를 사용하면 함수가 일회용 오류 및 1자 버퍼 오버런을 방지할 수 있습니다.

이 함수는 성공한 경우에도 SetLastError 를 호출하는 몇 안 되는 NLS 함수 중 하나입니다. 검색 문자열과 일치하지 않을 때 스레드의 마지막 오류를 지우기 위해 이 호출을 수행합니다. 그러면 GetLastError에서 반환된 값이 지워지게 됩니다.

Windows 8 시작: FindStringOrdinal은 Libloaderapi.h에서 선언됩니다. Windows 8 전에 Winnls.h에서 선언되었습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 libloaderapi.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

FindNLSString

FindNLSStringEx

애플리케이션에서 정렬 처리

국가 언어 지원

국가 언어 지원 기능