在 OS X 上设置区域设置会导致崩溃

2023-11-24

以下代码在 Linux 上运行良好,但在 OS X 10.7 上引发异常:

#include <iostream>
#include <locale>
#include <stdexcept>

int main() try {
    std::locale::global(std::locale(""));
    std::cout << "Using locale: " << std::locale().name() << "\n";
}
catch (std::runtime_error const& e) {
    std::cout << e.what() << "\n";
    return 1;
}

OS X 上的输出是:

locale::facet::_S_create_c_locale名称无效

然而,该标准明确指出

有效字符串参数值的集合是"C", "",以及任何实现定义的值。

因此,无论什么原因导致上述行为,都违反了标准。

使用的编译器是clang++ 3.1(tags/Apple/clang-318.0.58);我也尝试过通过 Homebrew 安装的 GCC 4.7,结果相同。

其他人可以验证这个问题吗?是什么原因造成的?我做错了什么吗?这是 OS X 中的错误吗?

(也许这个与另一个有关xlocale problem但错误实际上完全不同。)


我认为您没有使用 xlocale。我相信您的问题出在 libstdc++ 上,它使用 OS X 上不支持的不同语言环境支持库,正如问题 EitanT 链接到的那样。

如果你切换到 libc++ 你的程序就可以工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 OS X 上设置区域设置会导致崩溃 的相关文章

随机推荐

  • python请求http响应500(可以在浏览器中访问站点)

    我试图找出我在这里做错了什么 但我总是迷失方向 在 python 2 7 中 我运行以下代码 gt gt gt import requests gt gt gt req requests request GET https www zoma
  • Wix(VS 安装程序)- 缺少编辑器工具栏

    我的电脑上安装了 Wix 3 10 扩展至 Visual Studio 2015 我创建了一个基于 Wix 的安装项目 可以运行 在安装项目中 通常会有一些图标 安装工具 文件系统 注册表 UI 服装操作 但它们目前缺失 您可以在任何 Wi
  • 如何从 Firefox 插件执行 Windows 命令?

    如何使用 Firefox 插件执行 Windows 命令并显示其输出 例如 ping www stackoverfow com 我只是想通过执行打包在一起的二进制文件 或 可执行文件或运行 Windows 命令来探索更多 Firefox 插
  • Delphi、MDI 与多文档界面的选​​项卡

    我正在开发一个多文档应用程序 目前它使用 MDI 这对我 作为开发人员 以及我相信的用户来说都非常方便 然而有一个 反对 我还没有找到解决办法quickly load many到目前为止 子窗口 每次创建窗口并最大化以填充父窗口区域时 都会
  • 安装 Angular CLI 时收到错误警告

    我是这个平台的新手 我安装了Node js但是当我尝试运行命令时npm install g angular cli我收到这个错误 npm WARN deprecated email protected Legacy versions of
  • git checkout 会更新所有文件吗?

    新问题 我想确保我理解这一点 When I git checkout
  • 夏令时和时区最佳实践[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我希望使这个问题及其答案成为处理夏令时的权威指南 特别是处理实际的转换 如果您有什么要补充的 请做 许多系统都依赖于保持准确的时间 问题在于夏令时导致的时间变化 将时钟向前或向后
  • SQL 更新会在更新运行期间影响其子查询吗?

    我只是编写一个复杂的更新查询 它看起来或多或少像这样 update table join select y min x as MinX from table group by y as t1 using y set x x MinX 这意味
  • 关于 ID 和 Class 的 CSS 最佳实践?

    我一直在阅读有关 CSS 的 SitePoint 书籍 这些示例让我印象深刻的是使用 ID 作为 CSS 选择器 我做过一些 CSS 设计 我总是发现使用 Class 作为选择器更容易 更通用 也许它是一个 Net 的东西 因为我们并不总是
  • asp.net 邮件添加 ReplyTo

    我如何添加与发件人不同的电子邮件ReplayTo场地 似乎MailMessage ReplyTo已被弃用 所以我正在尝试使用ReplyToList反而 但它告诉我 Property or indexer System Net Mail Ma
  • java.security.InvalidAlgorithmParameterException:Linux 上的 trustAnchors 参数必须非空,或者为什么默认信任库为空 [重复]

    这个问题在这里已经有答案了 当你用谷歌搜索这个异常时 java security InvalidAlgorithmParameterException the trustAnchors parameter must be non empty
  • 在 Chrome 中将 iframe 与本地文件结合使用

    我很难弄清楚如何从外部页面访问 iframe 中加载的页面 两个页面都是本地文件 我使用的是 Chrome 我有一个外页和许多内页 外部页面应始终显示内部页面的页面标题 这在我的应用程序中有意义 但在这个精简示例中可能不那么有意义 这在 A
  • JavaScript 中的 Object.prototype

    我有一些定义函数的 JavaScript 代码getElementsByAttribute如下 Object prototype getElementsByAttribute function attr var children this
  • PayPal IPN 示例:已完成、已撤消、Canceled_Reversed 和退款

    我在正在开发的网络应用程序上处理 PayPal IPN 消息时遇到了麻烦 我向 PayPal 商家技术支持询问了有关处理的信息Reversed Canceled Reversed and RefundedIPN 消息 下面的代码是我从他们的
  • 如何将一行扩展到多行结果集?

    我有一个表 我试图根据第二列值将每一行分解为一行或多行 像这样 table id pcs ABC 3 DEF 1 GHJ 4 query result id pcs num ABC 1 ABC 2 ABC 3 DEF 1 GHJ 1 GHJ
  • 在 UNIX /usr/bin/script 中继承别名

    UNIX usr bin script 命令将创建 shell 会话的运行脚本 有关详细信息 请参阅 man script 然而 当inside一个脚本实例 它似乎忘记了父 shell 的环境变量 别名等 以下示例演示了如何在 script
  • 如何使用 groovy 创建和配置新的 Jenkins 作业?

    有很多 Groovy 脚本的示例 http scriptlerweb appspot com catalog list 但是我没有发现创造新就业机会的例子 网上有一个很好的例子来说明如何做到这一点吗 Create 来自 SCM 的管道脚本
  • 带有模拟的 Angular 2 TestBed

    我正在尝试测试使用其他服务的组件 我想通过为服务提供模拟来隔离组件 在 RC5 之前我可以简单地使用addproviders现在已弃用 并将在下一个 RC 中删除 相反 我必须使用TestBed 当我出于某种原因提供模拟角度时 请继续寻找模
  • 如何以编程方式测试路径/文件是否是快捷方式?

    我需要测试文件是否是快捷方式 我仍在尝试弄清楚如何设置内容 但我可能只有它的路径 我可能只有文件的实际内容 作为字节 或者我可能两者都有 一些复杂的情况包括它可能位于 zip 文件中 在这种情况下 路径将是内部路径 可以使用 SHELL32
  • 在 OS X 上设置区域设置会导致崩溃

    以下代码在 Linux 上运行良好 但在 OS X 10 7 上引发异常 include