On Wed, Nov 28, 2001 at 12:51:09AM -0500, Big Red wrote:
> Ok, simple question here. I'm just asking because... well I just don't
> know. wee.
>
> %d, where %d is defined as the character's hp, will make:
> |HP: 5 |
> %10d will make:
> |HP: 5 |
> To reserve 10 spaces for the integer, where only one is used, the rest are
> left hanging... Pretty simple, right?
> Well, what if you want it left-aligned:
> |HP: 5 |
> --Or centered, for that matter?
> |HP: 5 |
>
> (Yes, I know only an odd number can have a center in this case.)
printf("%5d" ,3) -> " 3"
printf("%-5d" ,3) -> "3 "
printf("%s" ,center(5,3));
-> " 3 "
where spaces() is:
char *center(int width,int value) {
static char returnbuffer[MSL];
char buffer[MSL];
if (width>returnbuffer) abort();
sprintf(buffer,"%d",value);
memset(returnbuffer,' ',MSL);
returnbuffer[(width-strlen(buffer))/2]=0;
strcat(returnbuffer,buffer);
returnbuffer[strlen(returnbuffer)]=' ';
returnbuffer[width]=0;
return returnbuffer;
}
this _should_ center it, haven't tried it.
Edwin
--
Edwin Groothuis | Personal website: http://www.MavEtJu.org
[EMAIL PROTECTED] | Interested in MUDs? Visit Fatal Dimensions:
------------------+ http://www.FatalDimensions.org/