[CHString 클래스는 현재 최종 상태로 간주되는 WMI 공급자 프레임워크의 일부로, 이 라이브러리에 영향을 미치는 보안과 관련되지 않은 문제에 대해서는 더 이상 개발, 개선 또는 업데이트가 이루어지지 않습니다. MI API는 모든 새 개발에 사용해야 합니다.]
Format 메서드는 일련의 문자와 값을 CHString에 서식을 지정하고 저장합니다.
구문
void throw(CHeap_Exception) Format(
LPCWSTR lpszFormat,
...
);
매개 변수
lpszFormat
형식 컨트롤 문자열입니다.
...
인수 목록입니다.
반환 값
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 |