jjzjj

c++ - 无法编译项目 : error in locale. h 文件

我正在尝试编译一个具有以下header的项目:locale.h;语言环境.h:classLOG4CXX_EXPORTLocale{public:...protected:Locale(constLocale&);Locale&operator=(constLocale&);constLogStringlanguage;谁能给我一些建议?我遇到了这个错误。我不知道有什么问题。/LOGGER/include/log4cxx/helpers/locale.h:42:41:error:field‘language’hasincompletetypeconstLogStringlanguage;

c++ - 为什么 cout.imbue(locale ("")) 会导致内存泄漏?

我的编译器是VisualVC++2013。下面最简单的程序会导致一些内存泄漏。为什么?如何修复?#define_CRTDBG_MAP_ALLOC#include#include#include#include#includeusingnamespacestd;intmain(){_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);cout.imbue(locale(""));//Ifthisstatementiscommented,thenOK.}调试窗口输出如下:Detectedmemoryleaks!Dumpingo

c++ - 为什么 std::bad_cast 被 boost::locale 抛出?

我试图了解如何使用boost::locale来比较忽略大小写和变体的字符串。我直接尝试了Boost文档中的代码:http://www.boost.org/doc/libs/1_51_0/libs/locale/doc/html/collation.htmlboost::locale::generatorgen;std::localevLocale=gen("");std::wstringa=L"Façade",b=L"facade";//Followingwillthrowbad_castbooleq=std::use_facet>(vLocale).compare(boost::lo

c++ - 使用空字符串 ""创建 std::locale

问题是否使用空字符串构造std::locale以使用户首选的native语言环境成为标准的一部分?如果是,您能否指出明确说明这一点的来源?问题描述std::locale文档中的示例有这一行:std::wcout这暗示使用空字符串创建语言环境将返回用户首选的本地语言环境。快速谷歌搜索后,这个article还提到:Theemptystringtellssetlocaletousethelocalespecifiedbytheuserintheenvironment.但是,在查看documentation时对于std::locale构造函数,没有提及提供空字符串时的特殊情况。引用如下:3-4

c++ - atoi() 与其他语言

我正在从事一个国际化项目。除0-9之外,其他语言(例如阿拉伯语或中文)是否使用不同的数字表示法?如果是这样,是否有atoi()的版本可以解释这些其他表示?我应该补充一点,我主要关心的是解析来自用户的输入。如果用户输入其他表示形式,我想确保我将其识别为数字并相应地对待它。 最佳答案 我可以使用std::wistringstream和语言环境来生成这个整数。#include#includeusingnamespacestd;intmain(){localemylocale("en-EN");//Constructlocaleobject

c++ - 将 LCID 转换为语言字符串

在我的应用程序中,我必须查询系统和用户区域设置并将它们作为字符串返回(例如en-US而不是语言代码)。我可以从GetSystemDefaultLCID()和GetUserDefaultLCID()函数获取这些语言的LCID,但我正在努力解决的问题是从LCID到语言字符串的转换。我的应用程序也必须在WindowsXP上运行,所以我不能使用LCIDToLocaleName()WinAPI。到目前为止,我唯一能够获取语言环境名称的方法是使用GetLocaleInfo()WinAPI,方法是将LOCALE_SYSTEM_DEFAULT和LOCALE_USER_DEFAULT作为LCID传递,将

c++ - 为什么 std::locale loc ("en_US") 抛出异常?

我试图用美国或英国语言环境字符串实例化一个std::locale对象。std::localeloc("en_US")和std::localeloc("en_GB")都抛出一个错误的语言环境名称运行时异常.使用""或"C"创建语言环境效果很好;但是,我在设置单个国家/地区时遇到问题。我想这样做的原因是出于单元测试的目的,以确保一组字符串排序方法能够正常工作。我还应该指出,我正在使用VisualStudio2008在Windows中编写代码,如果可能的话,我希望让我的代码跨平台。 最佳答案 std::locale支持的字符串是特定于实现

c++ - C++代码中的UTF用法

UTF和UCS有什么区别。在C++字符串中表示非欧洲字符集(使用UTF)的最佳方法是什么。我想知道您对以下方面的建议:代码中的内部表示用于运行时的字符串操作将字符串用于显示目的。最佳存储表示(即在文件中)最好的有线传输格式(在不同架构和不同标准区域设置的应用程序之间传输) 最佳答案 WhatisthedifferencebetweenUTFandUCS.UCS编码是固定宽度的,由每个字符使用多少字节来标记。例如,UCS-2每个字符需要2个字节。代码点超出可用范围的字符无法在UCS编码中进行编码。UTF编码是可变宽度的,并以存储一个字

ios - 确定 iOS 区域 "Europe"的国家代码

我正在开发一个应用程序,它要求用户提供电话号码并有一个国家选择器,用户应该在其中输入国家代码。但是在测试空国家代码值时,我发现我的iOS10.2.1iPhone的区域格式设置为欧洲。搜索时,地区列表中不存在欧洲地区。当我尝试获取当前语言环境国家代码时NSLocale*currentLocale=[NSLocalecurrentLocale];return[currentLocaleobjectForKey:NSLocaleCountryCode]我得到en_150,这对于确定用户所在的国家/地区没有用,至少在我的设备上是这样。返回的国家代码是150,这是不存在的。我找到了使用CTTel

ios - 正确的用户 iTunes 商店附属链接(美国、英国、德国...)

我想在iPhone应用程序中使用TradeDoubler(欧洲)和LinkShare(美国、加拿大)并链接到应用程序商店。我已经知道我总是会被带到正确的商店。但是每个国家/项目的附属链接都是不同的。因此,在构建URL之前,我需要知道它将带我去哪家商店。用户区域设置并不是执行此操作的正确方法。例如:我在德国的iPad上设置了美国iTunes帐户。语言设置为英语。语言环境给了我DE。但我需要搜索美国商店并使用LinkShare而不是TradeDoubler链接。有人知道如何找出用户在设备上登录的iTunes商店吗? 最佳答案 如果您不想