469,626 Members | 889 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,626 developers. It's quick & easy.

convert long long integer to string using sprintf

what is format for sprintf to convert long long integer (64 bits) to
string?

Jun 13 '06 #1
7 37286
we*****@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
mr*@inprovide.com
Jun 13 '06 #2
we*****@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 ---
Jun 14 '06 #3
Måns Rullgård <mr*@inprovide.com> writes:
we*****@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) ks***@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.
Jun 14 '06 #4
Joe Wright wrote:
we*****@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.
Jun 14 '06 #5
Skarmander <in*****@dontmailme.com> writes:
Joe Wright wrote:
we*****@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
mr*@inprovide.com
Jun 14 '06 #6
Måns Rullgård wrote:
Skarmander <in*****@dontmailme.com> writes:
Joe Wright wrote:
we*****@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.
Jun 14 '06 #7

Måns Rullgård wrote:
we*****@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>

Jun 15 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by seema | last post: by
16 posts views Thread by akarui.tomodachi | last post: by
43 posts views Thread by Steven T. Hatton | last post: by
14 posts views Thread by Drew | last post: by
7 posts views Thread by wenmang | last post: by
21 posts views Thread by Aman JIANG | last post: by
8 posts views Thread by Frank Liebelt | last post: by
reply views Thread by gheharukoh7 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.