Mail Archives: cygwin/2001/09/06/03:23:36
On Thu, Sep 06, 2001 at 12:54:13AM +0200, Kurt Roeckx wrote:
> I need use a 64 bit number, and int64_t is defined as a long
> long.
>
> The problem is that scanf doesn't like numbers bigger then
> 0xFFFFFFFF, and always returns that number in that case. printf
> works fine with them.
>
> An example is doing this:
>
> long long int i;
>
> sscanf("123456789", "%Lx", &i);
> printf("%llx\n%llx\n", i, i + 1);
>
> it will print:
>
> ffffffff
> 100000000
>
> This problem seems to be reported once before in 1997, but still
> doesn't seem to be fixed.
> I'm using cygwin 1.3.2 on win98.
It's a newlib problem. Nobody implemented strtoll or strtoull
so far. So scanf can't call them.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:cygwin AT cygwin DOT com
Red Hat, Inc.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -