C 系統函式呼叫踩坑

2021-10-12 17:48:02 字數 662 閱讀 3374

c++程式設計時候,時不時會用到一些系統函式,有可能會遇到踩坑的情況

踩坑現象:mktime返回-1

tm t;

time_t timet = mktime(t);

分析原因:不一定出現,不同編譯器表現也不一樣,我這邊用的乙個64位編譯器上遇到概率大,懷疑是內部的內容沒有初始化會有髒資料導致

解決:規範寫法,需要memset

tm t;

memset(&t,0,sizeof(tm));

time_t timet = mktime(t);

踩坑現象:執行後出來year是255

struct tm *t ;

t = localtime(utctime);

t->year;

分析原因:由於裡面的tm是內部控制,一樣不確定是否會存在mktime一樣的問題.上遇到了概率性出現問題,概率獲取出來是year是255

解決:盡量使用 localtime_r,同時它還是執行緒安全的

struct tm t ;

memset(&t,0,sizeof(tm));

localtime_r(&utctime,&t);

t.year;

Python strip 函式踩坑

s.strip chars none strip 函式用於去除字串首尾的空格,當 chars 不為 none 時,則刪除字串首尾的 chars 中的字元。當 chars none 時,去除首尾空格,沒啥好說的,我們來看 chars 不為 none 時的情況。str abc123abc print s...

httpser 踩坑 chroot 函式

在寫httpser 想要切換目錄記得有個函式chroot 於是就用了 然後神奇的事情就出現了 之後想要輸出當前工作目錄等一系列的操作都無效,我們來了解其功能。查閱資料 chroot 用來改變根目錄為引數path所指定的目錄.只有超級使用者才允許改變根目錄,子程序將繼承新的根目錄.呼叫成功則返回0,失...

C 呼叫系統函式

說到呼叫系統函式,最常用的無非是system 和winexec 其中system是阻塞模式,後台程式或者圖形程式呼叫的時候會彈出黑視窗 winexec可以通過引數設定不彈出黑視窗,但是不阻塞,立刻返回。這次想找乙個阻塞模式且不帶黑視窗的,網上說shellexecute可以,我沒試驗成功。索性用了引數...