我正在用C语言开发一个程序,它需要返回一个字符串数组,该数组包含计算机可以从(表面上从tz数据库)访问信息的所有可能区域。我需要在Linux(或者至少是Ubuntu)和Windows之间建立一个跨平台的平台,所以这两个平台之间的任何通用方法都会让我的生活更加轻松。我知道在Windows上有几种实现方法(通过注册表,或者这里描述的方法http://msdn.microsoft.com/en-us/library/ms171251(v=sql.90).aspx),但是除了在Linux中硬编码数组之外,我还没有找到在Linux中实现这一点的任何方法。在Ubuntu中实现这一点的最佳方法是什么?在Windows中有没有比我前面提到的两种更好的方法?
最佳答案
Dave,zoneinfo目录的内容不仅在Linux发行版中是一致的,而且在许多(大多数)其他unice中也是一致的。
在某些情况下,确切的位置可能会有所不同(我只知道一个:在Linux上,很多年前它曾位于/usr/lib/zoneinfo下,当时没有/usr/share之类的东西),因此应该可以在应用程序中配置它。但是您可以使用/usr/share/zoneinfo作为默认值,在99.9%的情况下都可以使用。
关于c - 获取C中跨平台的时区列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7895785/