CHString::Format(UINT,...) 메서드(chstring.h)
[CHString 클래스는 현재 최종 상태로 간주되는 WMI 공급자 프레임워크의 일부로, 이 라이브러리에 영향을 미치는 보안과 관련되지 않은 문제에 대해서는 더 이상 개발, 개선 또는 업데이트가 이루어지지 않습니다. MI API는 모든 새 개발에 사용해야 합니다.]
Format 메서드는 일련의 문자와 값을 CHString 문자열에 형식을 지정하고 저장합니다.
구문
void throw(CHeap_Exception) Format(
UINT nFormatID,
...
);
매개 변수
nFormatID
형식 제어 문자열을 포함하는 문자열 리소스 식별자입니다.
...
인수 목록입니다.
반환 값
CHeap_Exception
설명
각 선택적 인수(있는 경우)는 lpszFormat의 해당 형식 사양 또는 nFormatID로 식별된 문자열 리소스에 따라 변환되고 출력됩니다.
참고 보안 공격에 대한 노출을 줄이려면 항상 Format에 형식 문자열을 사용합니다. 예를 들어 Format(input) 은 악용할 수 있으며 Format("%s", input) 은 악용할 수 없습니다. 형식 문자열에 사용자 제공 문자열을 사용하지 마세요. 형식 문자열이 지역화와 같은 용도로 저장되는 경우 권한이 없는 쓰기 액세스로부터 문자열을 보호해야 합니다. 함수가 표준 출력이 아닌 문자열에 쓰는 경우 형식 문자열에서 후행 "%s"을 사용하지 않도록 해야 할 수 있습니다.
문자열 개체가 Format에 대한 매개 변수로 제공되면 호출이 실패합니다. 예를 들어 다음 코드로 인해 예측할 수 없는 결과가 발생합니다.
예제
CHString str = L"Some Data";
// Attention: str is also used in the parameter list.
str.Format(L"%s%d", str, 123);
참고 문자열을 선택적 인수로 전달하는 경우 명시적으로 LPCWSTR로 캐스팅해야 합니다. format 인수는 printf 함수에 대한 format 인수와 동일한 형식 및 함수를 가합니다. NULL 문자가 작성된 문자의 끝에 추가됩니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | chstring.h |