作者Golven (五代裕作)
看板Programming
标题Re: [问题] 请问要如何做出这种字串对齐 in C
时间Sat Nov 22 11:05:56 2008
我的想法是--使用两段式思考:
先把你要输出的东东弄成字串,
再将该字串以"%13s"的方式做对齐输出...
char s[14];
...
sprintf(s,"a[%d]=%d",i,a[i]);
printf("%13s",s);
PS:我不太确定是"%13s"还是"%-13s"(懒得"找"书,并非懒得翻书)
反正一个是向右对齐, 另一个就是向左对齐...
另:sprintf(),sscanf()的格式和用法几乎等於printf(),scanf(),
只是它们的输出/入的对向是个字串(第一个参数是个字串)...
这有啥做用呢? 这在10<->16进位转换时特别好用(不需要用到itoa(),atoi())
而且它们也是C的标准函式,到任何OS下的任何C都能被使用...例:
sprintf(s_hex,"%x", i_dec); /* 将10进位数字转成16进位字串 */
sscanf (s_hex,"%x",&i_dec); /* 从16进位字串转成10进位数字 */
※ 引述《Ansaga (该赶走的快赶走)》之铭言:
: 标题: [问题] 请问要如何做出这种字串对齐
: 时间: Sat Nov 22 10:06:04 2008
:
: 在C语言中
:
: printf("a[%d]=%d",i,a[i]);
:
: 我想要让这个array的型态以%13s的方式做对齐
:
: 像是:
:
: a[0]=9 a[1]=15
: a[2]=12 a[3]=123
:
:
: 请问我可以怎麽做呢@@?
:
: 麻烦指导我一下/.\
:
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.204.67.59
1F:→ Ansaga:感谢 我了解了^^ 220.133.16.240 11/22 11:26