이런 경우 출력이 잘되는게 이상하네요...

mabux의 이미지

printf("[%d]**\n%*.*s\n", hc->fd, hc->idx, hc->idx, hc->buf);

안녕하세요..

위의 문장을 보시면

%d와 %*.*s 만이 있습니다.

출력할 변수로는 4개가 있고요(hc->로 시작)
fd : int, idx : int, buf : char*

위의 소스는 리눅스 소스중에 있는 코드인데...

저 문장이 어떻게 출력이 되는지 궁금합니다..

특히 %*.*s <- 이부분에서 hc->idx, hc->idx, hc->buf를 모두 출력 할 것 같지는 않네요..

아시는 분은 답변 부탁드립니다...

doldori의 이미지

출력 서식 자체를 가변적으로 만드는 것입니다.
예를 들어 hc->idx의 값이 10이라고 하면

printf("[%d]**\n%10.10s\n", hc->fd, hc->buf);

와 같은 뜻이 됩니다.