gpt4 book ai didi

c++ - ctime 在哪里以及如何分配内存?

转载 作者:太空狗 更新时间:2023-10-29 20:29:15 24 4
gpt4 key购买 nike

我正在使用 ctime函数来获取 time_t 变量的可读表示。 ctime声明如下:

char *ctime (const time_t *timer);

你可以看到它返回了一个指向结果 char 数组的指针,而没有在参数中传递任何 char 指针。因此,我想知道 ctime 在哪里分配 char 缓冲区以及谁将销毁它并且没有在函数内部分配内存(当然,各种 malloc 除外)被认为是弄得一团糟。

有什么建议吗?

最佳答案

从您引用的链接:

The array which holds this string is statically allocated and shared by both the ctime and asctime functions. Each time either one of these functions is called the content of this array is overwritten

该数组的持续时间与程序的持续时间一样长,任何人都不能释放它。

POSIX 2008 有一个 ctime_r可重入函数(您传入缓冲区),但它在 C 或 C++ 中不是标准的。

关于c++ - ctime 在哪里以及如何分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com