C에서 한글 printf 포맷 정렬하기
파이썬 3에서 한글 print 포맷 정렬하기 문제와 마찬가지로 C에서 printf()
함수를 한글과 함께 사용할 때도 정렬 문제가 있다. 예를 들어,
printf("%-10s|%-10s|\n%-10s|%-10s|\n", "abcd", "efgh", "가나", "다라");
위 문장은 다음과 같이 출력을 제대로 정렬하지 못 한다.
abcd |efgh | 가나 |다라 |
Libaprintf의 aprintf()
함수를 이용해서 위의 소스 코드를 다음과 같이 수정한다.
aprintf("%-10s|%-10s|\n%-10s|%-10s|\n", "abcd", "efgh", "가나", "다라");
이제 다음과 같이 정렬된 출력을 볼 수 있다.
abcd |efgh | 가나 |다라 |
다음은 Libaprintf 라이브러리의 테스트 결과이다.