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]