1. 程式人生 > >atltime.h和time.h函式衝突

atltime.h和time.h函式衝突

編者:李國帥

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);