C++ 使用ctime&x27的缺点是什么;那是什么?

C++ 使用ctime&x27的缺点是什么;那是什么?,c++,c,timezone,ctime,time.h,C++,C,Timezone,Ctime,Time.h,在一个关于获取系统时区的问题上,他没有投票 它建议从time.h使用tzset()和一些系统全局变量(例如daylight、timezone和tzname) 经过一些测试,我能够在Windows和Mac上通过这种方法获得准确的结果。但是我猜上面提到的答案没有被投票支持是有原因的。这是真的吗我应该更喜欢操作系统特定的调用而不是此C标准调用吗?否,如果没有标准C函数(并且您正在为至少一个符合POSIX的系统编程),那么您应该使用更喜欢POSIX函数而不是操作系统特定的函数 如果您的一个系统不符合PO

在一个关于获取系统时区的问题上,他没有投票

它建议从
time.h
使用
tzset()
和一些系统全局变量(例如
daylight
timezone
tzname


经过一些测试,我能够在Windows和Mac上通过这种方法获得准确的结果。但是我猜上面提到的答案没有被投票支持是有原因的。这是真的吗我应该更喜欢操作系统特定的调用而不是此C标准调用吗?

否,如果没有标准C函数(并且您正在为至少一个符合POSIX的系统编程),那么您应该使用更喜欢POSIX函数而不是操作系统特定的函数


如果您的一个系统不符合POSIX,那么您应该只为该系统提供特定于操作系统的解决方案。

tzset
不是标准的C函数。很高兴知道。但这是不使用它的唯一原因吗?显然Windows和Mac都支持它,Linux也支持它。它应该可以在任何兼容POSIX的系统上运行,所以它是相当可移植的。我认为他们没有投票支持你的答案,因为这个问题被标记为c++/boost,而tzset是POSIX函数。但最好在那里问一下;)Windows不兼容POSIX,但它支持POSIX。怎么回事?