新手提问:如何格式化显示时间,放在一个 char *p中?
经过取值,得到计算机的系统时间:2005 12-12 12:13:54
printf("%d %02d-%02d %02d:%02d:%02d\n",year,month,day,hour,min,sec);
如何得到
*p="2005 12-12 12:13:54"啊!
问题点数:10、回复次数:7Top
1 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-08-30 12:01:47 得分 2
用sprintf()函数
Write formatted data to a string.
int sprintf( char *buffer, const char *format [, argument] ... );
sprintf returns the number of bytes stored in buffer, not counting the terminating null character. swprintf returns the number of wide characters stored in buffer, not counting the terminating null wide character.
Parameters
buffer -- Storage location for output
format -- Format-control string
argument -- Optional arguments
Top
2 楼jixingzhong(瞌睡虫·星辰)回复于 2005-08-30 12:17:53 得分 2
sprintf( p,"%d %02d-%02d %02d:%02d:%02d\n",year,month,day,hour,min,sec);
注意要先分配 P 的空间 !!Top
3 楼jixingzhong(瞌睡虫·星辰)回复于 2005-08-30 12:19:26 得分 2
好象还可以用 FORMAT() 来控制时间的格式的 .....Top
4 楼xiaochongvip(暗恋是很伤身体的)回复于 2005-08-30 12:20:21 得分 2
sprintf(p,"%d %02d-%02d %02d:%02d:%02d\n",year,month,day,hour,min,sec)Top
5 楼kw123(阿柯)回复于 2005-08-30 18:30:46 得分 0
如何精确分配 P 的空间?Top
6 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-08-30 18:37:11 得分 2
你自己数数啊
"2005 12-12 12:13:54"
一共多长? 19个字符(加空格)
所以你只要分配20个sizeof(char)的空间就可以了Top
7 楼bugebear3(bug)回复于 2005-08-30 18:38:02 得分 0
不一定要精确,开大一点就行了
char p[100];
sprintf(p,"%d %02d-%02d %02d:%02d:%02d\n",year,month,day,hour,min,sec)
Top




