Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #64913

Re: printf format specifier changes

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: printf format specifier changes
Date 2015-07-08 08:38 -0700
Organization None to speak of
Message-ID <lnsi8yaccl.fsf@kst-u.example.com> (permalink)
References <d9147e9f-77b1-435a-b037-24041fd6974a@googlegroups.com> <mnebi4$p4v$1@dont-email.me> <mni35p$efa$2@dont-email.me> <mnj3tm$efu$1@dont-email.me> <mnj7h3$qrp$1@dont-email.me>

Show all headers | View raw


Les Cargill <lcargill99@comcast.com> writes:
> James Kuyper wrote:
>> On 07/07/2015 10:52 PM, Les Cargill wrote:
[...]
>>> Example 1:
>>>
>>> char *s = something();
>>>
>>> printf(":%s: 0x%08x\n",s,(int)s);
>>>
>>> Every. Single. Attempt. To improve on this. Fails. Repeatedly.
>>
>> Personally, I'd use %p and (void*)s, but I presume that you have your
>> reasons for avoiding it.
>
> Not really. I recall vaguely something unsettling with %p, but
> *for now* it's not that unusual to be able to cast a pointer thru an int.
>
> <snip>

The format of the output produced by %p is implementation-defined.
A hexadecimal representation with a "0x" prefix is typical, but there
are systems where it's unprefixed and it could be difficult to tell
at a glance that it's a pointer.  It's used mostly for debugging,
so user-friendliness isn't a huge issue.  Something like "@%p"
might be clearer.

On many 64-bit systems, int (which should be unsigned int in your
example) is 32 bits and char* is 64 bits.  On my system, printing
the address of a local variable with "%p" shows "0x7fffca90b597";
printing the same address by casting to unsigned int gives a
compile-time warning and prints "0xca90b597".

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-06 09:04 -0700
  Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-06 17:50 +0100
    Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-06 11:34 -0700
      Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-06 19:47 +0100
        Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-06 19:53 +0100
          Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-06 11:57 -0700
      Re: printf format specifier changes "James Harris" <james.harris.1@gmail.com> - 2015-09-06 10:53 +0100
    Re: printf format specifier changes Richard Heathfield <rjh@cpax.org.uk> - 2015-07-06 19:44 +0100
      Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-06 22:14 +0100
        Re: printf format specifier changes Robert Wessel <robertwessel2@yahoo.com> - 2015-07-06 22:43 -0500
        Re: printf format specifier changes Keith Thompson <kst-u@mib.org> - 2015-07-06 23:01 -0700
          Re: printf format specifier changes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-07 06:43 +0000
          Re: printf format specifier changes Phil Carmody <pc+usenet@asdf.org> - 2015-07-09 10:52 +0300
            Re: printf format specifier changes Richard Heathfield <rjh@cpax.org.uk> - 2015-07-09 09:26 +0100
              Re: printf format specifier changes Phil Carmody <pc+usenet@asdf.org> - 2015-07-12 12:56 +0300
                Re: printf format specifier changes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-12 06:12 -0700
        Re: printf format specifier changes Rosario19 <Ros@invalid.invalid> - 2015-07-07 10:22 +0200
          Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-07 10:10 +0100
      Re: printf format specifier changes Philip Lantz <prl@canterey.us> - 2015-07-07 00:54 -0700
    Re: printf format specifier changes Nobody <nobody@nowhere.invalid> - 2015-07-07 15:08 +0100
      Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-07 16:12 +0100
        Re: printf format specifier changes raltbos@xs4all.nl (Richard Bos) - 2015-07-09 10:34 +0000
          Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-09 12:25 +0100
            Re: printf format specifier changes Phil Carmody <pc+usenet@asdf.org> - 2015-07-12 13:02 +0300
              Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-12 11:23 +0100
    Re: printf format specifier changes <william@wilbur.25thandClement.com> - 2015-07-07 11:50 -0700
      Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-07 12:14 -0700
    Re: printf format specifier changes Les Cargill <lcargill99@comcast.com> - 2015-07-07 21:52 -0500
      Re: printf format specifier changes Keith Thompson <kst-u@mib.org> - 2015-07-07 20:42 -0700
        Re: printf format specifier changes Phil Carmody <pc+usenet@asdf.org> - 2015-07-09 11:12 +0300
          Re: printf format specifier changes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-09 05:03 -0700
            Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-09 13:10 -0500
          Re: printf format specifier changes James Kuyper <jameskuyper@verizon.net> - 2015-07-09 08:58 -0400
          Re: printf format specifier changes Keith Thompson <kst-u@mib.org> - 2015-07-09 08:10 -0700
            Re: printf format specifier changes Phil Carmody <pc+usenet@asdf.org> - 2015-07-12 12:58 +0300
              Re: printf format specifier changes James Kuyper <jameskuyper@verizon.net> - 2015-07-12 12:57 -0400
              Re: printf format specifier changes Keith Thompson <kst-u@mib.org> - 2015-07-12 11:14 -0700
                Re: printf format specifier changes gazelle@shell.xmission.com (Kenny McCormack) - 2015-07-12 18:26 +0000
      Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-08 13:09 +0100
      Re: printf format specifier changes James Kuyper <jameskuyper@verizon.net> - 2015-07-08 08:10 -0400
        Re: printf format specifier changes Les Cargill <lcargill99@comcast.com> - 2015-07-08 08:12 -0500
          Re: printf format specifier changes Keith Thompson <kst-u@mib.org> - 2015-07-08 08:38 -0700
          Re: printf format specifier changes James Kuyper <jameskuyper@verizon.net> - 2015-07-08 12:00 -0400
            Re: printf format specifier changes Les Cargill <lcargill99@comcast.com> - 2015-07-08 17:20 -0500
      Re: printf format specifier changes Phil Carmody <pc+usenet@asdf.org> - 2015-07-09 11:08 +0300
    Re: printf format specifier changes Phil Carmody <pc+usenet@asdf.org> - 2015-07-08 20:30 +0300
      Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-08 18:56 +0100
        Re: printf format specifier changes gordonb.lmwiv@burditt.org (Gordon Burditt) - 2015-07-09 11:09 -0500
          Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-09 14:05 -0500
      Re: printf format specifier changes Keith Thompson <kst-u@mib.org> - 2015-07-08 11:27 -0700
        Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-08 15:07 -0500
  Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-06 23:39 -0500
    Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-07 10:19 +0100
      Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-07 07:57 -0500
        Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-07 14:15 +0100
          Re: printf format specifier changes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-07 14:46 +0100
          Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-07 09:37 -0500
        Re: printf format specifier changes Phil Carmody <pc+usenet@asdf.org> - 2015-07-09 11:24 +0300
          Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-09 09:55 -0500
            Re: printf format specifier changes <william@wilbur.25thandClement.com> - 2015-07-09 11:53 -0700
              Re: printf format specifier changes <william@wilbur.25thandClement.com> - 2015-07-09 13:48 -0700
              Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-09 17:01 -0500
    Re: printf format specifier changes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-07 10:59 +0100
      Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-07 07:48 -0500
        Re: printf format specifier changes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-07 14:30 +0100
          Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-07 10:05 -0500
            Re: printf format specifier changes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-07 23:16 +0100
              Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-07 20:29 -0500
              Re: printf format specifier changes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-08 00:43 -0700
              Re: printf format specifier changes Robert Wessel <robertwessel2@yahoo.com> - 2015-07-09 02:29 -0500
                Re: printf format specifier changes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-09 10:34 +0100
                Re: printf format specifier changes BGB <cr88192@hotmail.com> - 2015-07-09 09:35 -0500
          Re: printf format specifier changes Keith Thompson <kst-u@mib.org> - 2015-07-07 08:37 -0700
            Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-07 08:45 -0700
          Re: printf format specifier changes <william@wilbur.25thandClement.com> - 2015-07-07 12:12 -0700
  Re: printf format specifier changes pooja deshpande <namitadeshpande25@gmail.com> - 2015-07-09 09:29 -0700
    Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-09 09:34 -0700
      Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-09 09:59 -0700
        Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-09 22:33 +0100
          Re: printf format specifier changes Keith Thompson <kst-u@mib.org> - 2015-07-09 15:17 -0700
            Re: printf format specifier changes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-10 00:30 +0000
              Re: printf format specifier changes Reinhardt Behm <rbehm@hushmail.com> - 2015-07-10 09:17 +0800
      Re: printf format specifier changes David Kleinecke <dkleinecke@gmail.com> - 2015-07-09 10:02 -0700
        Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-09 10:19 -0700
      Re: printf format specifier changes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-09 21:50 +0100
        Re: printf format specifier changes Keith Thompson <kst-u@mib.org> - 2015-07-09 15:05 -0700
          Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-09 15:09 -0700
          Re: printf format specifier changes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-10 00:28 +0100
            Re: printf format specifier changes raltbos@xs4all.nl (Richard Bos) - 2015-07-13 20:39 +0000
        Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-09 15:07 -0700
          Re: printf format specifier changes Bartc <bc@freeuk.com> - 2015-07-09 23:16 +0100
            Re: printf format specifier changes "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-09 15:25 -0700

csiph-web