- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
有一个我认为我知道正确答案的谜题,但我也有一个问题。看看:
Sample Code
void printTime( time_t *t )
{
????
}
下面哪一个可以代替????在上面的代码中以人类可读的形式打印 t 中传递的时间?
:
char s[ 100 ];
ctime( t, s );
printf( "%s\n", s );
:
printf( "%s\n", ctime( t ) );
:
printf( "%s\n", asctime( t ) );
:
printf( "%s", t );
:
char *s = ctime( t );
printf( "%s\n", s );
free( s );
我的答案是答案 2(函数 ctime 将 time_t 指针作为输入并返回指向字符串的指针,然后可以由 printf 打印该字符串)。
答案 5 的代码在编译时也能正常工作,但是为什么我们要在之前没有分配存储空间的情况下使用 free() 呢?您认为这就是答案 5 错误的原因吗?
谢谢,普热梅克
最佳答案
ctime_r
相反。localtime
.char*
但已给出 time_t*
。ctime
自己管理它的缓冲区,例如使用静态的。一般来说,这些函数中的大多数(即 asctime
、ctime
、localtime
……)现在有两种变体:历史形式使用一些静态分配的缓冲区来保存返回值,以及一个更现代的版本,带有 _r
后缀,代表 可重入。对于后者,您必须自己提供输出缓冲区,这意味着您负责分配它。最大的优势是多个线程可以同时使用可重入版本而不用担心覆盖彼此的结果。
关于c - puzzle - 在 C 中以人类可读的形式打印时间; ctime,asctime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14379720/
我有以下代码。 #include #include int main(int argc, char** argv) { time_t t1, t2; time(&t1);/* set cu
我有以下程序演示了 asctime 的使用. #include #include int main(void) { struct tm broken_down; broken_
为什么选择 asctime 函数返回的特定字符表示,即 Www Mmm dd hh:mm:ss yyyy\n,它的来源是什么?信息的顺序对我来说似乎很特殊,尤其是将时间信息放在日期信息之间。这是(或者
char timestamp() { time_t ltime; struct tm * loctime; char thetime; time(<ime);
我想摆脱 asctime() 给我的新行 string str; time_t tt; struct tm * ti; time(&tt); ti = localtime(&tt); str = as
我正在为我的项目使用日志记录,格式是 'format': '%(asctime)s %(message)s' 但是,时间不等于我的本地时间。例如 2013-01-08 11:04:07,383 消息(
我想使用 asctime() 打印 C 语言中的时间,但是当打印文本时,随机字符会附加在 timeString 之后。此外,syslog() 在日志文件中打印的文本与 printf() 在 shell
我已经调试到我知道问题的程度,我只是不知道如何解决它。 现在我正在使用: file.open(logFile.c_str(), std::ios::out | std::ios::app); 只要我注
我有一个记录器和一个 DuplicateFilter 类,用于过滤已记录一次的消息。我想在我的过滤器中包含日志记录发生的时间,但是当我尝试访问属性 asctime 时,我得到:AttributeErr
我有一个 24 个字符的字符串,想要获取元组。 例如。: 'Fri Apr 25 12:24:47 2014' (通过 time.ctime(time.time()) ) 最佳答案 time.strp
我在我的 Python 2.7 代码中使用一个记录器来创建一个 CSV 来绘制。它在没有 RTC 的嵌入式模块上运行。我对时间戳没有任何用处,但想包含一个标签,这样我就可以更轻松地绘制它们。记录器的设
这个问题在这里已经有了答案: localtime vs localtime_s and appropriate input arguments (3 个答案) 关闭 8 年前。 我正在尝试为我的程序
我正在将 time_t 转换为人类可读的格式。为此,我使用了 asctime() 函数。但是,在 C++ 引用资料中也提到了它。 The string is followed by a new-lin
我想使用 asctime 将时间分配给字符串。 time_t rawtime; time ( &rawtime ); vector TTime; TTime.resize(10); TTime = a
我的 C++ 项目中有 4 级警告 我想解决它 警告是 Warning 1 warning C4996: 'gmtime': This function or variable may be unsa
有一个我认为我知道正确答案的谜题,但我也有一个问题。看看: Sample Code void printTime( time_t *t ) { ???? } 下面哪一个可以代替????在上面的代码中以
我目前有一个包含 POSIX 时间戳的 double ,并且我成功地使用 gmtime 和 asctime 通过 time_t 结构显示日历日期: time_t input = posix;
我正在学习使用logging而不是print来调试我的代码: In [89]: logging.basicConfig(level=logging.DEBUG, format=" %(asctime)
我想将 ANSI C 格式的字符串转换为 std::tm 对象。 例子 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format 更多信息在这里 here
我是一名优秀的程序员,十分优秀!