I use ' if (!strftime((char *)str, 100, "%#x", (const struct tm *)thetime))' but the correct is
' if (!strftime((char *)str, 100, "%x", (const struct tm *)thetime))'...
But I still have the same output for all setlocale I use.
setlocale(LC_ALL, "C");
setlocale(LC_ALL, "pt_BR");
setlocale(LC_ALL, "ja");
...
$ ./crt_locale.exe
'Mon Dec 08 2003'
'Mon Dec 08 2003'
'Mon Dec 08 2003'
'Mon Dec 08 2003'
thanks, Marcelo Modolo
Igor Pechtchanski wrote:
On Sun, 7 Dec 2003, Marcelo Rezende Módolo wrote:
Hi, I have a program that needs the locale support, so I include 'locale.h'. I make the program but the output was wrong. With the cygwin library the setlocale function do not work, but if I link with mingw library it is ok I am sending a sample program that demonstrate the error.
Linking with CYGWIN: [EMAIL PROTECTED] /usr/src/testes/locale/msdn $ gcc -o crt_locale crt_locale.c [EMAIL PROTECTED] /usr/src/testes/locale/msdn $ $ ./crt_locale.exe In German locale, strftime returns 'x' No Brasil locale, strftime retorna 'x' In 'C' locale, strftime returns 'x' [EMAIL PROTECTED] /usr/src/testes/locale/msdn $
Linking with MINGW (-mno-cygwin) [EMAIL PROTECTED] /usr/src/testes/locale/msdn $ gcc -mno-cygwin -o crt_locale crt_locale.c [EMAIL PROTECTED] /usr/src/testes/locale/msdn $ $ ./crt_locale.exe In German locale, strftime returns 'Sonntag, 07. Dezember 2003' No Brasil locale, strftime retorna 'domingo, 07 de dezembro de 2003' In 'C' locale, strftime returns 'Sunday, December 07, 2003' [EMAIL PROTECTED] /usr/src/testes/locale/msdn $
Thanks, Marcelo Modolo
"man setlocale", "man strftime". Igor
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/