This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Bug printing string where the 128th char is multibyte
On Jan 4 21:05, Eduardo D'Avila wrote:
> Using the %s didn't solve the problem:
>
>
> erdavila@antares ~/perl/feedbacks
> $ cat BUG.c
> #include <stdio.h>
>
> int main() {
> const char * str =
> "0123456789" // 0 - 9
> "0123456789" // 10 - 19
> "0123456789" // 20 - 29
> "0123456789" // 30 - 39
> "0123456789" // 40 - 49
> "0123456789" // 50 - 59
> "0123456789" // 60 - 69
> "0123456789" // 70 - 79
> "0123456789" // 80 - 89
> "0123456789" // 90 - 99
> "0123456789" // 100 - 109
> "0123456789" // 110 - 119
> "0123456ç89" // 120 - 127
> ;
>
> printf("%s", str);
>
> return 0;
> }
>
> erdavila@antares ~/perl/feedbacks
> $ gcc -Wall BUG.c -o BUG
>
> erdavila@antares ~/perl/feedbacks
> $ ./BUG
> ç89
That's what I see:
$ ./BUG
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456X89
With X being a square denoting an invalid character value. That's
exactly what I expect, given that the console runs in UTF-8 by default.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple