For 64-bit addresses, use: %016llX

For the second problem, you could do something like:

printf("You have %i %s\n", i, i==1 ? "record" : "records");

In article <[email protected]> you wrote:
> Or they could use "%08X" to tell printf to tag on the leading zeros - no 
> counting needed.

> Here's one that always looks strange to me:

> "You have 1 records"

> I think that *does* take some extra C coding to fix unless someone can 
> tell me some printf tricks.

> Years ago I wrote some assembler macros and subroutines to simulate C 
> string routines, including printf.  I seem to remember having logic that 
> would scan the next word in the source string looking for a trailing S, 
> and would drop it if the number displayed was 1.  For example:

>   #PRINTF 'You have %d records',COUNT

> ... would result in good grammar no matter what number was displayed.

> Anthony Thompson wrote:
> > The error reason is actually 0B7F1C00, it's the C/C++ library functions 
> > being called from within copytree command (like printf, fprint, etc) that 
> > drop leading zeroes. I've seen it many times in error messages from z/UNIX 
> > commands . It is fixable in C/C++ code, but the programmer needs to count 
> > the number of digits to be output and manually add their own leading zeros. 
> > Not many can be bothered.

-- 
Don Poitras - SAS Development  -  SAS Institute Inc. - SAS Campus Drive
[email protected]           (919) 531-5637                Cary, NC 27513

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to