From: Dan Nelson Date: March 15 2006 3:27pm Subject: Re: insert my_ulonglong data with C API List-Archive: http://lists.mysql.com/mysql/195855 Message-Id: <20060315152737.GF48583@dan.emsphone.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 > #endif > > #include "mysql.h" > #include > 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 ... sprintf(s,"%"PRIu64"\n",ull.id); Or read your compiler documentation to verify that can print 64-bit integers at all. -- Dan Nelson dnelson@stripped