time_t (mhour) operations (+ / - ...)
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
价值正在如您所料地增加。
相关文章:
- Codecademy - Vectors: Operations
- 为什么TensorFlow推荐"functional style for constructing operations"?
- memory_order_relaxed and Atomic RMW operations
- time_t (mhour) operations (+ / - ...)
- OpenCV 2.4.2 编译"operations.hpp"问题
- Python sprintf and memset operations
- Winldap,Qt,ldap_search_ext_s在ldap_sasl_bind_s后返回"Operations Error"
- 对"operations"的未定义引用
- 在C++中设计一个小对象池,有助于减少"repetitive operations on objects"