typedef struct _PRINTF_TEST
{
    char    a   [  1];
    char    b   [  2];
    char    c   [  3];
    char    d   [ 10];
    char    z   [ 50];
} PRINTF_TEST;

    PRINTF_TEST pt;
    memset(&pt, 0x00, sizeof(pt));
   
    memcpy(pt.a, "A"            , 1);
    memset(pt.b, 0x00           , 2);
    memcpy(pt.c, "CCC"          , 3);
    memcpy(pt.d, "12345"        , 5);
    memcpy(pt.z, "GGGGBEBEBEBE" , 12);

    printf("pt.a : s      [%s]\n", pt.a );
    printf("pt.b : s      [%s]\n", pt.b );
    printf("pt.c : s      [%s]\n", pt.c );
    printf("pt.d : s      [%s]\n", pt.d );
    printf("pt.d : z      [%s]\n", pt.z );

    printf("pt.a : -1s    [%-1s]\n", pt.a );
    printf("pt.b : -2s    [%-2s]\n", pt.b );
    printf("pt.c : -3s    [%-3s]\n", pt.c );
    printf("pt.d : -10s   [%-10s]\n", pt.d );
    printf("pt.z : -50s   [%-50s]\n", pt.z );  
    
    printf("pt.a : .1s    [%.1s]\n", pt.a );
    printf("pt.b : .2s    [%.2s]\n", pt.b );
    printf("pt.c : .3s    [%.3s]\n", pt.c );
    printf("pt.d : .10s   [%.10s]\n", pt.d );
    printf("pt.z : .50s   [%.50s]\n", pt.z );

    printf("pt.a : -.1s   [%-.1s]\n", pt.a );
    printf("pt.b : -.2s   [%-.2s]\n", pt.b );
    printf("pt.c : -.3s   [%-.3s]\n", pt.c );
    printf("pt.d : -.10s  [%-.10s]\n", pt.d );
    printf("pt.z : -.50s  [%-.50s]\n", pt.z );


-- NULL 만날때까지 출력
pt.a : %s      [A]
pt.b : %s      []
pt.c : %s      [CCC12345]
pt.d : %s      [12345]
pt.d : %s      [GGGGBEBEBEBE]

- 자리수까지는 NULL 무시, 자리수 이후 만나는 NULL에서 종료.
pt.a : %1s     [A]
pt.b : %2s     [  ]
pt.c : %3s     [CCC12345]
pt.d : %10s    [     12345]
pt.z : %50s    [                                      GGGGBEBEBEBE]

pt.a : %-1s    [A]
pt.b : %-2s    [  ]
pt.c : %-3s    [CCC12345]
pt.d : %-10s   [12345     ]
pt.z : %-50s   [GGGGBEBEBEBE                                      ]

-- 자리수만큼 출력, NULL 만나면 종료.
pt.a : %.1s    [A]
pt.b : %.2s    []
pt.c : %.3s    [CCC]
pt.d : %.10s   [12345]
pt.z : %.50s   [GGGGBEBEBEBE]

pt.a : %-.1s   [A]
pt.b : %-.2s   []
pt.c : %-.3s   [CCC]
pt.d : %-.10s  [12345]
pt.z : %-.50s  [GGGGBEBEBEBE]

'도우미' 카테고리의 다른 글

(펌) 리눅스에서 2G 이상 파일 다루기  (0) 2011.08.10
difftime 날짜와 시간 차이 구하기  (0) 2011.07.29
strncpy  (0) 2011.02.20
울트라에디트 구문강조 파일 wordfile.txt  (0) 2011.02.14
socket recv MSG_WAITALL  (0) 2011.02.10

+ Recent posts