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