C/C++
글 수 37
2015.05.22 13:52:38 (*.134.169.166)
15099
디버깅할 때 printf()를 많이 사용하지요.
디버깅을 위해 문자열을 출력하는데,
필요한 부분은 앞 몇 문자인데 출력할 문자열 길이가 너무 길어서
확인하기가 어려워서 문자열을 잘라내기해서
출력한다면 어떤 방법을 사용하시나요?
두 가지 방법이 있을 것입니다.
만일 문자열을 변경해도 된다고 하면 몇 번 째 바이트에 NULL을 입력하면 됩니다.
그러나 문자열을 변경해서는 안 된다고 하면 귀찮지만,
따로 버퍼를 만들어서 복사해서 출력해야 합니다.
그러나 printf()에서 %*.s를 사용하면 버퍼를 만들고 복사할 필요가 없습니다.
아래 예를 보시죠.
int main( void){ char *ptr = "falinux.com"; printf( "%.*s\n", 7, ptr); printf( "%s\n", ptr); return 0; }
친숙한 %s가 아닌 %.*s로 변경하고 길이와 출력할 문자열 포인터를 넣어 주면
문자열의 왼쪽에서 길이에 맞추어 출력됩니다.