|
|
convert long long integer to string using sprintf
what is format for sprintf to convert long long integer (64 bits) to
string?
|
|
0
|
|
|
|
Reply
|
wenmang (87)
|
6/13/2006 10:11:54 PM |
|
wenmang@yahoo.com writes:
> what is format for sprintf to convert long long integer (64 bits) to
> string?
The format for "long long" is %lld (or %llx etc.). Keep in mind
though, that a long long is not necessarily 64 bits. If you
specifically need 64 bits, use the types defined in stdint.h and the
format macros in inttypes.h.
--
M�ns Rullg�rd
mru@inprovide.com
|
|
0
|
|
|
|
Reply
|
iso
|
6/13/2006 11:06:23 PM
|
|
wenmang@yahoo.com wrote:
> what is format for sprintf to convert long long integer (64 bits) to
> string?
>
You could look it up? If int is %d and long is %ld could it be %lld ?
Just guessing. I haven't looked it up.
--
Joe Wright
"Everything should be made as simple as possible, but not simpler."
--- Albert Einstein ---
|
|
0
|
|
|
|
Reply
|
Joe
|
6/14/2006 12:04:22 AM
|
|
M�ns Rullg�rd <mru@inprovide.com> writes:
> wenmang@yahoo.com writes:
>> what is format for sprintf to convert long long integer (64 bits) to
>> string?
>
> The format for "long long" is %lld (or %llx etc.). Keep in mind
> though, that a long long is not necessarily 64 bits. If you
> specifically need 64 bits, use the types defined in stdint.h and the
> format macros in inttypes.h.
And keep in mind that your runtime library's version of sprintf()
might not support "%lld". Mismatches between a compiler and the
runtime library it uses (for example, where the compiler supports
"long long", but sprintf() doesn't) are not uncommon.
Some older versions of sprintf() *might* use "%Ld" rather than "%lld".
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
|
|
0
|
|
|
|
Reply
|
Keith
|
6/14/2006 12:07:16 AM
|
|
Joe Wright wrote:
> wenmang@yahoo.com wrote:
>> what is format for sprintf to convert long long integer (64 bits) to
>> string?
>>
> You could look it up? If int is %d and long is %ld could it be %lld ?
> Just guessing. I haven't looked it up.
>
Hmm, and since %f is used to printf() a double, I can use %f to scanf() a
double, right?
Looking it up (or, indeed, asking in an ng) nearly always beats trying the
obvious if the language wasn't specifically designed to accommodate that. C
definitely isn't.
S.
|
|
0
|
|
|
|
Reply
|
Skarmander
|
6/14/2006 6:00:45 PM
|
|
Skarmander <invalid@dontmailme.com> writes:
> Joe Wright wrote:
>> wenmang@yahoo.com wrote:
>>> what is format for sprintf to convert long long integer (64 bits) to
>>> string?
>>>
>> You could look it up? If int is %d and long is %ld could it be %lld ?
>> Just guessing. I haven't looked it up.
>>
> Hmm, and since %f is used to printf() a double, I can use %f to
> scanf() a double, right?
Wrong. With scanf %f denotes a float, and %lf denotes a double. This
difference is because the arguments to printf are subject to type
promotion, so any float arguments are converted to double. The
arguments to scanf are pointers, so there is a need to differentiate
between pointer to float and pointer to double.
--
M�ns Rullg�rd
mru@inprovide.com
|
|
0
|
|
|
|
Reply
|
iso
|
6/14/2006 6:15:45 PM
|
|
M�ns Rullg�rd wrote:
> Skarmander <invalid@dontmailme.com> writes:
>
>> Joe Wright wrote:
>>> wenmang@yahoo.com wrote:
>>>> what is format for sprintf to convert long long integer (64 bits) to
>>>> string?
>>>>
>>> You could look it up? If int is %d and long is %ld could it be %lld ?
>>> Just guessing. I haven't looked it up.
>>>
>> Hmm, and since %f is used to printf() a double, I can use %f to
>> scanf() a double, right?
>
> Wrong. With scanf %f denotes a float, and %lf denotes a double. This
> difference is because the arguments to printf are subject to type
> promotion, so any float arguments are converted to double. The
> arguments to scanf are pointers, so there is a need to differentiate
> between pointer to float and pointer to double.
>
You're ruining my fun.
For those who were enlightened by the above, read the FAQ at
http://www.c-faq.com as well. It covers the above and much more.
S.
|
|
0
|
|
|
|
Reply
|
Skarmander
|
6/14/2006 9:02:29 PM
|
|
M=E5ns Rullg=E5rd wrote:
> wenmang@yahoo.com writes:
>
> > what is format for sprintf to convert long long integer (64 bits) to
> > string?
>
> The format for "long long" is %lld (or %llx etc.). Keep in mind
> though, that a long long is not necessarily 64 bits.
It is at least 64 bits to be precise.
The New C Standard by Derek M. Jones
<q>
The C compiler for the Unisys e-@ction Application Development
Solutions (formerly known as the Universal Compiling System, UCS)[1331]
has 9-bit character types- 18-bit short, 36-bit int and long, and
72-bit long long.
</q>
|
|
0
|
|
|
|
Reply
|
Maxim
|
6/15/2006 7:50:07 AM
|
|
|
7 Replies
430 Views
(page loaded in 0.082 seconds)
|
|
|
|
|
|
|
|
|