gpt4 book ai didi

c++ - 在运行时检查操作系统正在运行哪种语言

转载 作者:太空宇宙 更新时间:2023-11-04 11:46:02 26 4
gpt4 key购买 nike

我写了一个 C++ 函数调用的配置文件。由于某些操作系统或操作系统中设置的语言以不同方式读取 float ,例如 (4.5 & 4,5)

我如何在运行时检查正在运行的操作系统,以便我知道我是否应该读取带逗号或小数点的 float 。

有什么想法吗?

(我的代码在 windows 和 linux(跨平台)上都相同,但是当我在 linux 上读取包含 float 的配置文件时,它没有正确读取小数点?)

前进的方向是什么?

最佳答案

您要查找的术语是 localeiostream 成员函数 imbue() . imbue 页面上的示例代码几乎提供了您想要的确切功能。

double d;
std::locale mylocale("");
std::cin.imbue(mylocale);
std::cin << d;

最终应该以正确的形式读取变量。您可能需要从环境变量或类似变量中获取语言环境名称,具体取决于平台。在 Linux 上,它来自环境变量 LANG。我不确定 Windows。

关于c++ - 在运行时检查操作系统正在运行哪种语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19805993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com