我得到这样的系统时间:
time_t t = time(0);
struct tm* now = localtime(&t);
TCHAR* tInfo = new TCHAR[256];
swprintf_s(tInfo
, 256
, _T("Current time: %i:%i:%i")
, now->tm_hour
, now->tm_min
, now->tm_sec);
然后在屏幕上显示:
std::cout << tInfo << std::endl;
但 当前时间:12:57:56 ,我在屏幕上显示: 0x001967a8 。我做错了什么?
答案 0 :(得分:4)
您正在尝试打印“宽”字符串。你需要使用:
std::wcout << tInfo << std::endl;
“窄”版本cout
不知道“宽”字符,所以只打印地址,就像你试图打印其他随机指针类型一样。
答案 1 :(得分:3)
尝试:
std::wcout << tInfo << std::endl;
答案 2 :(得分:0)
C ++与C共享其日期/时间函数。tm structure可能是C ++程序员最容易使用的函数 - 以下打印今天的日期:
#include <ctime>
#include <iostream>
using namespace std;
int main() {
time_t t = time(0); // get time now
struct tm * now = localtime( & t );
cout << (now->tm_year + 1900) << '-'
<< (now->tm_mon + 1) << '-'
<< now->tm_mday
<< endl;
}