필드 너비 또는 정밀도 또는 둘 다 별표(*)로 나타낼 수 있습니다. 이 경우 int 형식인수는 필드 너비 또는 정밀도를 제공합니다. 필드 너비 또는 정밀도 또는 둘 다를 지정하는 인수는 변환할 인수(있는 경우) 앞에 해당 순서로 나타나야 합니다. 음의 필드 폭은 로 촬영 – 플래그 뒤에 양수 필드 폭. 음의 정밀도는 정밀도가 생략된 것처럼 촬영됩니다. 변환 사양의 %n$ 형식을 포함하는 형식 문자열에서 필드 너비 또는 정밀도는 시퀀스 *m$로 표시될 수 있으며, 여기서 m은 범위의 소수점 정수 [1, NL_ARGMAX]에서 인수 목록(형식 인수 후)에 있는 위치를 제공합니다. 예를 들어 필드 너비 또는 정밀도를 포함하는 정수 인수: 다음 예제에서는 표 2에 표시된 소수점 값을 사용합니다. 다음 예제에서는 테스트 프로그램의 실제 값을 사용하므로 발생하는 일을 훨씬 쉽게 시각화할 수 있습니다. 그림 1은 Visual Studio 2013 디버거에 나타나는 오버런 버퍼를 보여 주며 있습니다. 합법적인 텍스트는 버퍼의 맨 위에 있으며 그 다음에 백필이 있습니다. 내 개발 기계가 설치및 필수 주소 공간 레이아웃 무작위화 (ASLR)를 적용하도록 구성되어 있기 때문에, 여기에 표시된 기계 주소는 다른 예에 표시된 것과 다릅니다. 표 2는 문자열 값이 역할을 하지 않는 다음 예제에서 사용되는 값인 신중한 디버깅 세션 중에 만든 메모에서 가져온 실제 값을 나열합니다.

이러한 예제에 가까운 소스 목록을 유지하려면 내러티브가 목록 3 아래에서 다시 시작됩니다. 이는 팔각형 또는 육각형 숫자로 표시되는 문자로 변환됩니다. 예를 들어 ASCII 표현을 사용하는 경우 문자 `a`는 `141` 및 `Z`를 `132`로 쓸 수 있습니다. 이 구문은 null 문자를 «으로 나타내는 데 가장 자주 사용됩니다. 이는 숫자 상수 0(0)과 정확히 동일합니다. 팔각형 수에는 일반 옥탈 상수와 마찬가지로 0 접두사가 포함되지 않습니다. 육각형을 지정하려면 접두사가 `x`(이 컨텍스트에서 대문자 `X`가 허용되지 않도록 0을 생략합니다). 헥사데피말 서열에 대한 지원은 ANSI 확장이다.

표준(7)을 참조하십시오. 함수가 따르는 몇 가지 일반적인 호출 규칙에 관계없이 거의 모든 함수는 반환 값을 EAX 레지스터에 배치합니다. 가장 일반적인 규칙 인 __cdecl 및 __stdcall은 EAX를 통해 반환됩니다. «스프린트프, _sprintf_l, swprintf, _swprintf_l, __swprintf_l,» 버퍼링 된 형식의 인쇄 기능의 고전적인 제품군은 https://msdn.microsoft.com/en-us/library/ybk95axf.aspx 및 기타 곳에서 문서화됩니다. . 형식에는 번호가 매겨진 인수 사양(즉, %n$ 및 *m$) 또는 번호가 매겨지지 않은 인수 사양(즉, % 및 *)이 포함될 수 있지만 일반적으로 둘 다 포함되지는 않습니다. 유일한 예외는 %%%가 %n$ 양식과 혼합될 수 있다는 것입니다. 형식 문자열에서 번호가 매겨진 인수 사양과 번호가 매겨지지 않은 인수 사양을 혼합하는 결과는 정의되지 않습니다. 번호가 매겨진 인수 사양을 사용하는 경우 Nth 인수를 지정하려면 첫 번째부터 (N-1)th까지의 모든 선행 인수를 형식 문자열에 지정해야 합니다.

. 어떤 경우에도 존재하지 않거나 작은 필드 너비로 인해 필드가 잘림되지 않습니다. 변환 결과가 필드 너비보다 넓으면 변환 결과를 포함하도록 필드가 확장됩니다.