Walt Mankowski on 26 Apr 2004 21:44:02 -0000 |
On Mon, Apr 26, 2004 at 05:22:38PM -0400, Chip Salzenberg wrote: > According to Walt Mankowski: > > int main () { > > long i = 42; > > #if __WORDSIZE == 64 > > printf("i = %ld\n", i); > > #else > > printf("i = %d\n", i); > > #endif > > return 0; > > } > > But but but! "%ld" is always right for long, no matter what. Oh! Well then... OK, let's use a slightly more complex example, which is closer to my actual code. It's really C++, not C. I'm using STL vectors, and I want to printf their size. (Yes, yes, I know I should be using iostreams, but whatever.) My code looks something like this: vector<double> v; ... printf("v has %d elements\n", v.size()); Looking through the STL documentation as well as the header files, it appears that size() returns a size_type, and size_type is really a size_t. Is size_t guaranteed to be a long? Walt Attachment:
signature.asc
|
|