atltime.h和time.h函式衝突
阿新 • • 發佈:2019-01-14
編者:李國帥
qq:9611153 微信lgs9611153
時間:2012-8-20 8:29:48
問題相關:
在使用com的時候,經常會使用到時間函式,那就需要考慮使用那個時間庫了,我們在開發中可能會用到別人的庫和程式碼,那麼也需要考慮相容的問題。於是就需要考慮下面這個問題:
一個檔案中儘量使用一種庫函式,不然可能導致函式庫衝突。
使用atltime庫:
#include <atltime.h>//這個庫中的new函式和其他的定義衝突。 //CTime Now = CTime::GetCurrentTime(); //tmData = Now.GetTime(); CTime Now = CTime::GetCurrentTime(); nYear = Now.GetYear(); nMonth = Now.GetMonth(); nDay = Now.GetDay(); _stscanf_s(strDate, _T("%02d:%02d:%02d"), &nHour, &nMinute, &nSecond); CTime tBegin(nYear, nMonth, nDay, nHour, nMinute, nSecond); tmData = tBegin.GetTime();
使用標準庫:
#include <time.h> time_t now; time(&now); struct tm localt; localtime_s(&localt,&now); _stscanf_s(strDate, _T("%02d:%02d:%02d"), &nHour, &nMinute, &nSecond); localt.tm_hour = nHour; localt.tm_min = nMinute; localt.tm_sec = nSecond; tmData = mktime(&localt);