我将我的应用程序移植到Linux(从Windows)。
char buffer[32] = {0}; if ( GetLocaleInfoA(LOCALE_USER_DEFAULT,LOCALE_ICOUNTRY,buffer,_countof(buffer)) ) { std::string newPrefix(buffer); if ( !newPrefix.empty() && ( newPrefix != "-1" ) ) { countryPrefix_ = newPrefix; } }
我需要一个返回“基于国际电话代码的国家/地区代码”的function(例如,美国和加拿大的“1”,澳大利亚的“61”等等)
国家应从操作系统的date/时间设置(在Windows中:控制面板 – 区域和语言选项)。
在Linux上使用桌面作为canvas
C ++ 11:g ++ – 4.7内部编译错误
是以任何方式多次打开共享内存?
如何通过键查找/检查字典值
为.NET开发和debugging优化IIS7
在Windows中相当于./configure?
如何在Win32中使用Dialog资源?
为什么两个进程在FIFO被删除之后仍然可以使用FIFO来进行通信?
如何以编程方式更改Windows 10任务栏图标大小
麻烦交叉编译ARM9 Montavista Linux的OpenCV
Unix没有OS宽区域设置。 可以为不覆盖它的用户使用默认值,但大多数用户会覆盖它。 把它作为“C”是很常见的。
获取与区域相关信息的posix方法是设置区域设置和使用nl_langinfo()(返回一个char* )。 虽然没有为国际电话代码定义的POSIX宏,glibc有一个扩展( _NL_TELEPHONE_INT_PREFIX )。
例:
#include <langinfo.h> ... if (setlocale(LC_ALL,"") == NULL) { fprintf(stderr,"Unable to set locale.n"); abort(); } printf("Telephone international prefix: %sn",nl_langinfo(_NL_TELEPHONE_INT_PREFIX));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。