printf_p Positional 매개 변수

위치 매개 변수 인수 필드 형식 문자열에 대체 될 번호를 지정할 수가 있습니다.다음 위치 매개 변수 printf 사용할 수 있는 기능.

위치 매개 변수를 지정합니다.

bt7tawza.collapse_all(ko-kr,VS.110).gif인덱싱 매개 변수

기본적으로 위치 서식 있는 경우 위치 함수 이외의 위치로 항목을 동일 하 게 동작 합니다.위치 매개 변수를 형식으로 지정 됩니다 "%m$x" 여기서 m 형식 문자열 앞에 오는 매개 변수를 목록에서 매개 변수의 위치를 나타내는 숫자 서 수를 나타냅니다 및 x 에 지정 된 형식 필드 문자 형식을 나타냅니다의 printf 함수입니다.매개 변수 목록에서 및 나머지 목록에서 첫 번째 요소에 대해 값 1부터 인덱싱됩니다.형식 필드 문자에 대 한 자세한 내용은 참조 하십시오. printf 형식 필드 문자.

이 동작의 예:

_printf_p("%1$s %2$s", "November", "10");

인쇄 합니다.

November 10

사용 되는 숫자의 순서 지정 된 인수의 순서를 일치할 필요가 없습니다.그러므로 다음은 유효합니다.

_printf_p("%2$s %1$s", "November", "10");

인쇄 합니다.

10 November

매개 변수를 사용할 수 있습니다 이상 한 번 포맷 하는 동안 달리 전통의 형식 문자열, 따라서 그

_printf_p("%{1$d times %1$d is %2$d", 10, 100);

인쇄 합니다.

10 times 10 is 100

그러나 모든 인수 곳 이나 한 번 형식 문자열에서 사용 해야 합니다.

위치 매개 변수는 형식 문자열에서 사용할 수 있는 최대 주어진 된 _ARGMAX.

bt7tawza.collapse_all(ko-kr,VS.110).gif너비 및 Prevision

경우는 * 기호 너비 또는 정밀도에서 인수를 결정 하는 지정 하는 데 사용 됩니다 다음 너비 또는 prevision 값의 위치를 바로 다음 표시 되어야의 * 기호.다음 예제를 참조하십시오.

_printf_p("%1$*2$s","Hello", 10);

또는

_printf_p("%2$*1$s",10, "Hello");

bt7tawza.collapse_all(ko-kr,VS.110).gif믹싱 위치와 비 위치 인수

위치 매개 변수가 아닌-위치 매개 변수가 동일한 형식 문자열 함께 사용할 수 없습니다.그러나, printf_s 및 관련된 함수를 여전히 지원 비 위치 매개 변수가 위치 매개 변수를 포함 하는 형식 문자열입니다.

예제

// positional_args.c
// Positional arguments allow the specification of the order
// in which arguments are consumed in a formatting string.

#include <stdio.h>

int main(int argc, char *argv[])
{
    int     i = 1,
            j = 2,
            k = 3;
    double  x = 0.1,
            y = 0.2,
            z = 0.3;
    char    *s1 = "abc",
            *s2 = "def",
            *s3 = "ghi";

    // If positional arguments are unspecified,
    // normal input order is used.
    _printf_p("%d %d %d\n", i, j, k);

    // Positional args are numbers indicating the
    // argument enclosed in curly braces.
    _printf_p("%3$d %1$d %2$d\n", i, j, k);

    // The same positional argument may be reused.
    _printf_p("%1$d %2$d %1$d\n", i, j);

    _printf_p("%1$s %2$s %3$s\n", s1, s2, s3);

    _printf_p("%3$s %1$s %2$s\n", s1, s2, s3);
}
  

참고 항목

참조

printf 형식 필드 문자

printf 폭 사양

정확한 사양