我有用于创建时间戳的代码: 代码在C中。
void timestamp()
{
time_t ltime; /* calendar time */
ltime=time(NULL); /* get current cal time */
printf("%s Something\n",asctime( localtime(<ime) ) );
}
为什么下一行的文字“Something”?我该怎么办才能把它放在同一条线上? 我很困惑,因为我没有在%s之后,所以它应该在同一条线上,但事实并非如此。 THX。
答案 0 :(得分:4)
退房 的 asctime() 强>
该字符串后跟一个换行符('\ n')和终止空字符。
答案 1 :(得分:3)
asctime
规范(C99§7.23.3.1/ 2)内容如下:
#include <time.h> char *asctime(const struct tm *timeptr);
asctime函数转换指向的结构中的细分时间
形式的字符串timeptr
成为Sun Sep 16 01:03:52 1973\n\0
请注意结尾处的换行符。
如果您不希望新换行符合时间,则需要自行删除换行符或使用其他库函数,例如strftime
。
答案 2 :(得分:0)
是因为你在“Something”这个词之后有一个回车符(\n
)转义符号吗?这将创建一个新行,它将在下一行放置任何后续信息,将“Something”留在自己的行上。
答案 3 :(得分:0)
请使用以下功能执行自定义格式,其他转换会自动添加换行符: