Cygwin 에서는 printf 와 wprint 를 동시에 사용하는 경우, 컴파일은 성공하지만 실행하면 wprintf 가 제대로 동작하지 않는다. 그리고 wprint 나 swptinf 사용 시 스트링을 출력하기 위해서는 %s 대신 %ls 포맷을 사용해야 한다.
Cygwin 의 경우 wchar_t 의 크기는 2바이트이다.
#include <string.h>
#include <wchar.h>
#include <locale.h>
int main(int argc, const char *argv[]) {
wchar_t wt[100];
/// setlocale(LC_ALL,"kr_KR.UTF-8");
setlocale(LC_ALL,"");
// printf("sizeof(wchar_t) = %d\n", sizeof(wchar_t));
// printf("For more informations, \nsee: http://www.firstobject.com/wchar_t-string-on-linux-osx-windows.htm\n");
wprintf(L"sizeof(wchar_t) = %d\n", sizeof(wchar_t));
wprintf(L"For more informations, \nsee: http://www.firstobject.com/wchar_t-string-on-linux-osx-windows.htm\n");
wprintf(L"\n");
wcscpy(wt, L"abc 가나다");
wprintf(L"%ls\n", wt);
swprintf(wt, wcslen(L"abc 가나다") + 1, L"%ls", L"abc 가나다");
wprintf(L"%ls\n", wt);
wprintf(L"%ls\n", L"abc 가나다");
wprintf(L"abc 가나다\n");
return 0;
}
컴파일:
$ gcc -o testWcharT_02 testWcharT_02.c
실행:
$ ./testWchaTr_02
sizeof(wchar_t) = 2
For more informations,
see: http://www.firstobject.com/wchar_t-string-on-linux-osx-windows.htm
abc 가나다
abc 가나다
abc 가나다
abc 가나다
'프로그래밍 > C' 카테고리의 다른 글
Lanczos 계수를 이용하여 Gamma 함수값 구하기 (0) | 2021.12.08 |
---|---|
MPFR 라이브러리를 이용하여 Gamma 함수값 계산하기 (0) | 2021.01.28 |
cygwin/mingw 의 gcc 로 utf-8 한글 처리하기 (0) | 2014.04.02 |
Visual C++ 2010 과 pdcurses 를 이용한 helloworld 예제 (0) | 2014.01.15 |
gcc 와 ncurses 를 이용한 카라슈바 곱셈 연습기 (0) | 2014.01.08 |