By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,227 Members | 1,240 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,227 IT Pros & Developers. It's quick & easy.

convert long long integer to string using sprintf

P: n/a
what is format for sprintf to convert long long integer (64 bits) to
string?

Jun 13 '06 #1
Share this Question
Share on Google+
7 Replies


P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a

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.