2011-06-02 100 views
6
struct tm *localtime(const time_t *timep); 

我檢查了man localtime但是沒有關於是否有責任在使用後清潔它。返回的localtime()結構是否需要釋放?

事實上,我對函數返回指針有很多類似的疑惑,你如何確定它應該被釋放?

+0

可能重複[如何在C分配本地時間的結果結構?](http://stackoverflow.com/questions/8694365/how -is最結果-結構-的-本地時間分配入-c)的 – user 2014-10-19 08:30:18

回答

8

這些信息應該是在man page - 我localtime手冊頁說:

返回值指向一個 靜態分配結構......

靜態分配的對象不應該是傳遞到free(),所以這是你的答案 - 不,你應該不是免費返回值localtime()

在一般情況下告訴的唯一方法是查閱相關函數的文檔或實現。

1

你說的沒錯予以關注返回指向靜態數據功能 - 它們常常不是線程安全的,這是很好的做法,以避免他們,即使你的代碼是不是但在多線程環境中使用

這是更好地使用_r形式的這些功能,即localtime_r()

相關問題