본문 바로가기
프로그램...

[C-printf] %n %*s 포맷 사용법

by 크크다스 2015. 10. 5.
반응형

= 참고> http://stackoverflow.com/questions/3401156/what-is-the-use-of-the-n-format-specifier-in-c


= 설명

%n : signed int pointer 로 지정된 인자에 "%n"표시전까지의 column count값을 반환해줍니다.

예> printf("%s: %nFoo\n", "hello", &n);

n == 5/*hello*/ + 2/*: */ == 7

%* : %3 같은 포매팅용 값을 인자로 받겠다는 것임

예> printf("%*sBar\n", n, "");

n == 7 이므로  n, "" 인자에 의해서

7칸뒤에 ""가 적용되므로 7칸이 공백이라는 것임.

결론적으로 아래 사용법은 Foo와 같은 위치에 Bar를 프린트 하기 위한 코드임.


= 사용법

int n;
printf("%s: %nFoo\n", "hello", &n);
printf("%*sBar\n", n, "");

결과>
hello: Foo Bar

변형>
int n = printf("%s: ", "hello"); printf("Foo\n"); printf("%*sBar\n", n, "");


# 변수들일 경우

int n = printf("%s: ", "hello");

printf("%s\n", "Foo");
printf("%*s%s\n", n, "", "Bar");


반응형

'프로그램...' 카테고리의 다른 글

[특수문자]  (0) 2016.01.14
[C1004W] Booting Log  (0) 2015.10.29
[git] branch 찾기 및 Baisc  (0) 2015.10.01
[Virtual Box] 디스크 사이즈 늘리기  (0) 2015.09.14
[Trouble Shooting]  (0) 2015.09.07