>
>sprintf(buf_temp1,"%s",cur->cl_players[0]);
>str_add_spaces(buf_temp1,12);
>sprintf(buf_temp2,"%s",cur->cl_name);
>str_add_spaces(buf_temp2,13);
>sprintf(buf_temp3,"%d",cur->cl_room);
>str_add_spaces(buf_temp3,9);
>sprintf(buf_temp4,"%d",cur->cl_number);
>str_add_spaces(buf_temp4,12);
>sprintf (send,"| %s| %s| %s| %s|\n\r",buf_temp1,buf_temp2,buf_temp3,buf_temp4);
>send_to_char(send,ch);
well you could easily cut this down to
sprintf(send, "| %-12.12s| %-13.13s| %-9.9d| %-12.12d|\n\r",
cur->cl_players[0], cur->cl_name, cur->cl_room, cur->cl_number);
for %d a - in it means force it right-padded with spaces (if too short)
and the .9 will truncate it to 9 chars if it's too long.
for %s it works basically the same way, except that in a
%-12.12s it'll print up 12 chars
(- means right-padded <force left-align>) and anything over 12
will just overrun, now the .12 takes care of the truncation,
I got this info from an old Turbo C 1.0 Reference Manual that I still
use as reference, even though I don't use Turbo C to program :-) nice, eh?
---------------------------------------------------------------------------
---- NEWBIES, and people with questions about (s)printf()'s %% codes ------
---- SNIP and save (print out?) for future reference!!! ----------------
----- everyone else, just ignore it, and don't bitch at me-----------------
----- it's good info for everyone to know ---------------------------------
---------------------------------------------------------------------------
Anyway, what follows is the rest of the % codes for printf()
I have sent them in before, but i got a few ppl telling me there's no
use in sending em out, but they were wrong :-)
anyway, here goes
%-n.nd : - means left-align, pad on right with spaces
the first 'n' is the length that you will pad with spaces
(if n=12 and stringlen = 10 then it will pad
with 2 spaces, anything longer overruns)
the second 'n' (after the '.') is for truncation at a certain length
%-n.ns : - means left-align, pad on right with spaces
the first 'n' is the length that to pad with spaces if too short
the second 'n' is the length to truncate if too long
I could post the rest of it, but that would be spam for the list,
If anyone would like a FULL list of
(including Hex, Octal, and Floating point) Sprintf codes
just send me a direct mail, and i'll be happy to oblige,
(of course you may not get a reply for a day or so, because i work
nights.
Anyway, I hope this helped, laters and have fun coding!
Akuma the Raging Coder
+------------------------------------------------------------+
| "The poets talk about love, but what I talk about is DOOM, |
| because in the end, DOOM is all that counts." - |
| Alex Machine/George Stark/Stephen King, The Dark Half |
| "Nothing is IMPOSSIBLE, Just IMPROBABLE" |
| "Easier Said Than Done, But Better Done Than Said..." |
+------------------------------------------------------------+
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list-faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST