티스토리 뷰

프로그래밍/잡탕

%의 옵션

터프 프로그래머 2011. 5. 14. 20:19

%[정렬] [최소크기] [.최대크기] [{h | l | ll | I | I32 | I64}]type

 

형식은 위와 같습니다.

 

[정렬]

는 +,-,0,공백,# 등이 올 수 있는데요..보통 +,-를 많이 사용합니다..

'+'는 오른쪽 정렬, '-'는 왼쪽 정렬입니다.

지정안하면 +로 되는걸루 알고 있습니다.

 

[최소크기]

최소 크기라고 보시면 됩니다...

그러니까.. 문자열 "1234"를 출력하는데. [width]가 5로 지정되어 있으면

위의 [flag] 지정에 따라서 왼쪽 혹은 오른쪽에 공백이 하나 자동으로 생깁니다...

 

[.최대크기]

최대 크기라고 보시면 되는데요..

문자열 "123456789123"을 출력하는데 [.최대크기]가 5로 지정되어 있으면.

12345 라고 출력되고 뒤에것은 짤리지요...

 

그러면 님께서 올리신 예제를 풀어 볼 수 있겠군요..

 

1) %5.5s

printf ( "%5.5s", "1234567890");

이런식으로 출력하면 [정렬]은 지정이 안되어 있으니까..자동으로 +가 되겠죠..

12345 라고 화면에 출력되겠군요...

 

2) %-5.5s

printf ( "%-5.5s", "123");

이런식으로 출력하면 [정렬]은 '-' 이고 최소값이 5, 최대값이 5니까..

왼쪽으로 정렬이 되면서.

123__  

(_는 공백 입니다. )

위와 같은 결과가 출력됩니다.

 

3) %.5s

printf ( "%.5s", "1234567890");

이런식으로 출력하면 [정렬]은 생략이니까 +가 되고  최소값은 없고 최대값이 5니까..

12345 라고 화면에 출력됩니다... 최대값이 5니까요 짤리지요...

 

4) %0.4f

printf ( "%0.4f", 12345.6781111);

실수는 문자열과 약간 다른데요...

실수는 최소값은 소수점을 포함한 전체길이가 되고.

최대값은 소수점의 길이로 해석이 되어 집니다..

이런식으로 출력하면 [정렬]은 생략이니까 +가 되고  최소값은 0,  최대값이 4니까..

12345.6781 이렇게 출력됩니다..

 

5) %.4f

printf ( "%.4f", 12345.6781111);

%0.4f와 같은 결과가 됩니다...

 

6) %3.4f

printf ( "%3.4f", 12345.6781111);

이런식으로 출력하면 [정렬]은 생략이니까 +가 되고  최소값은 3,  최대값이 4니까..

12345.6781 이렇게 출력됩니다..

 

printf ( "%3.4f", 1.1);

만약 위와 같이 한다면..

1.1000 이렇게 나오겠죠...

근데 %3.4f 같은 경우는 컴파일러마다 약간씩 차이가 있더군요...

출처 :  http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=73694954&qb=c3ByaW50Zl9z&enc=utf8&section=kin&rank=2&search_sort=0&spq=0&pid=gNHA1g331xNssauFN8Vssv--511378&sid=Tc5i1V9Fzk0AAFCnRnI

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday