[英]time_t (mhour) operations (+ / - …)
感谢您的阅读,这是一个简单的问题,但是...我很惊讶。
我的代码是:
/* GET THE TIME */
time_t theTime = time(0);
struct tm *aTime = localtime(&theTime);
int mhour = aTime->tm_hour;
ostringstream oss;
string myString = " ";
oss << mhour;
myString += oss.str(); // OKAY, OUTPUT Correct
std::cout << myString << endl;
// But if i replace and execute this :
oss << (mhour + 3);
myString += oss.str();// OUTPUT IS EMPTY ! Why ? How can i add +, -, * on "mhour" ?
为什么呢 如何在“ mhour”上添加+,-,*?
您期望在哪里输出? 您第二次无需在控制台上打印任何内容。
如果将此代码行放在示例的末尾:
std::cout << myString << endl;
然后,您的程序的总输出为(例如):
14
141417
这是有道理的,因为您将oss
两次添加到字符串中,并且第二次未清除它,您的字符串也未清除。
因此,您的mhour
价值正在按您的期望增加。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.