In the last episode (Mar 15), ?????? said:
> Thanks a lot! But my test is not successful. Please help me. This is
> my test code:
> 
> #ifdef WIN32
> #include <windows.h>
> #endif
> 
> #include "mysql.h"
> #include <stdio.h>
> main()
> {
>  union ull {
>   unsigned char a[8];
>   my_ulonglong id;
>  } ull;
>  for(int i=0;i<8;i++) ull.a[i]=(unsigned char)255;
>  
>  char s[200];
>  sprintf(s,"%llu\n",ull.id);
>  printf("%s\n",s);
> 
>  return 0;
> }
> 
> On Windows its output is:
> 4294967295
> It's still a 4bytes integer.

Maybe your compiler doesn't understand the %llu syntax.  If it's a
posix-compatible compiler, try this (although if it was posix, %llu
would have worked, so this probably won't either):

  #include <inttypes.h>

  ...

  sprintf(s,"%"PRIu64"\n",ull.id);

Or read your compiler documentation to verify that can print 64-bit
integers at all.

-- 
        Dan Nelson
        [EMAIL PROTECTED]

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to