Tag: locale

基于Windows set locale和consoleCP调试代码并使其运行。 获取错误:’未定义引用`GetLocaleInfoEx”

我试图让另一个人制作一些代码来工作。 代码基本上获取用户在var locale_name引入的语言环境。 然后设置其ConsoleCP和ConsoleOutputCP ; 毕竟,将控制台重置为默认值。 我做了一些修改,但我已经陷入黑点,我不知道如何继续。 我收到两个错误: undefined reference to ‘GetLocaleInfoEx’和error: ‘reset_console’ undeclared (first use in this function) 。 我不知道为什么我得到第一个错误。 第二个错误是由于未定义reset_console 。 我想它应该重置控制台的默认配置,但我不知道它应该为它做什么(我的意思是,我不知道如何恢复设置,我一直在搜索,但我没有做任何事情)。 代码是: #include #include #include #include #include #include #include int main() { wchar_t *locale_name = L”es-ES”; if (_wsetlocale(LC_ALL, locale_name)) { int codepage; int gPrevConsoleCP = GetConsoleCP(); if (gPrevConsoleCP) { // The process […]

C:将数字转换为没有区域设置的字符串的可移植/安全(线程感知)方法是什么?

将数字转换为字符串的安全/可移植方式是什么(反之亦然)? 我在Linux上,我的设置区域设置是这样的,当我使用sprintf时,数字有一个“,”而不是“。” 作为分隔符。 有时我想要那样,有时候不是:) 我看到了一些暗示玩用户设置的解决方案。 显然,这是一个不该做的事情。 有人建议使用uselocale snprintf:简单的强制方式。 作为基数? 可以有人详细说明(看起来它在某些glibc(<2.12)上有问题)并且如果可能的话提供一些示例代码(例如宏SNPRINTF_POSIX)。 我试过自己,但我的C技能非常有限。 [编辑] 在写完我的问题后,我在Swisslinux.org上的[GO] Skywalker13找到了这段代码。 有什么想法吗? 内存使用情况怎么样? (我需要多次调用此函数) #define _GNU_SOURCE #include #include double my_atof (const char *nptr) { double res; locale_t new_locale; new_locale = newlocale (LC_NUMERIC_MASK, “C”, NULL); res = strtod_l (nptr, NULL, new_locale); freelocale (new_locale); return res; }

在OS X Yosemite上运行`locale -a`时,LANG和LC_ALL是否为空是不是很糟糕?

我使用OS X Yosemite。 当我运行locale我得到了这个: locale LANG= LC_COLLATE=”C” LC_CTYPE=”UTF-8″ LC_MESSAGES=”C” LC_MONETARY=”C” LC_NUMERIC=”C” LC_TIME=”C” LC_ALL= 题 LANG和LC_ALL的空虚是否/正常/偏好? 通常情况下,我对此并不在意,但我有一个警告 (process:16182): Gtk-WARNING **: Locale not supported by C library. Using the fallback ‘C’ locale. 当我使用GTK ( 这里是我之前关于此问题的链接 )。 人们一直在用许多语言( 例如Python )和不同的OS( 例如Ubuntu )来解决这个问题。 关键是我找不到任何C语言和OS X的解决方案。

“Gtk-WARNING **:C库不支持区域设置。 使用回退’C’语言环境。“在OS X上

背景资料: 我使用的是Mac OSX Yosemite。 我使用brew install gtk+并使用export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig修复了错误。 我使用make构建我的程序但是当我尝试运行它时,我得到一个像这样的警告: (process:16182): Gtk-WARNING **: Locale not supported by C library. Using the fallback ‘C’ locale. 问题:我找不到针对此特定问题的OS X的任何解决方案。 到目前为止我学到了什么: 在这个线程中( Gtk-WARNING **:C库不支持Locale。虽然使用了几个Python模块(mayavi,spectrum) ),他们建议使用: ipython –pylab=wx而不是ipython –pylab=osx 但我不知道python如何与我的问题相关(我的程序是用C语言编写的 – 同样适用于gtk+我猜) 你可以在这个问题上找到很multithreading,如下所示:( Gtk-WARNING **:C库不支持Locale。从命令行启动应用程序时 )但它们主要是指Linux和/或Ubuntu。 大多数答案迟早会使用这样的命令: sudo dpkg-reconfigure locales 但OS X上没有dpkg 。