printf 포맷 스트링 질문

puaxx의 이미지

char *var=NULL;

var 변수에 가변길이 스트링이 들어가구요..

printf("%s",var);

만 하면 var가 모두 출력이 되는데..메모리 복사 없이 문자열 시작부터 딱 몇글자만 출력하려고 합니다.방법이 있을까요? 예전에 이런 포맷 스트링방법이 있었는데 까먹엇네요.

doldori의 이미지

예를 들어 최대 5자까지만 출력하려면
printf("%.5s", var);
정밀도까지 가변으로 하려면

int precision;
printf("%.*s", precision, var);
puaxx의 이미지

감사합니다.