C++;使用Visual Studio 2015录制国际字符的代码 我如何在VisualStudio输出窗口中的C++中“CUT”,这个字符串,现在我们有C++ 14的修订版(所有我没有得到的符号,或问号)。 #包括 使用std::cout; int main() { cout

C++;使用Visual Studio 2015录制国际字符的代码 我如何在VisualStudio输出窗口中的C++中“CUT”,这个字符串,现在我们有C++ 14的修订版(所有我没有得到的符号,或问号)。 #包括 使用std::cout; int main() { cout,c++,internationalization,visual-studio-2015,C++,Internationalization,Visual Studio 2015,您可以使用表from来确定字符所属的范围 可能您需要类似于中的函数。您可以使用表中的来确定字符所属的范围 可能您需要类似于中的函数。您可以使用表中的来确定字符所属的范围 可能您需要类似于中的函数。您可以使用表中的来确定字符所属的范围 可能您需要类似于中函数的功能。有些建议的副本在C++14中看起来过时了,因为C++14更容易使用。如果您的区域设置正确,这应该可以移植。要做到这一点,您需要将控制台字体设置为Lucida console或ConsoleAs,请在运行之前在控制台中运行chcp 650

您可以使用表from来确定字符所属的范围

可能您需要类似于中的函数。

您可以使用表中的来确定字符所属的范围

可能您需要类似于中的函数。

您可以使用表中的来确定字符所属的范围

可能您需要类似于中的函数。

您可以使用表中的来确定字符所属的范围


可能您需要类似于中函数的功能。

有些建议的副本在C++14中看起来过时了,因为C++14更容易使用。如果您的区域设置正确,这应该可以移植。要做到这一点,您需要将控制台字体设置为Lucida console或ConsoleAs,请在运行之前在控制台中运行
chcp 65001
程序(或编辑注册表以在默认情况下执行此操作)将源文件的字符集设置为多字节(UTF-8)或Unicode(UTF-16),并将IDE的字体设置为ConsoleAS

如果这太繁琐了,其他人已经发布了如何在程序中更改代码页的说明,但您仍然希望将源文件保存为UTF-8,以便可以在字符串常量中使用外来字符,并将字体更改为可以显示它们的字体

#include <cstddef>
#include <iostream>
#include <locale>

using std::cout;
using std::endl;

constexpr char * const texts[] = {
  u8"Ñá", //Spanish
  u8"forêt intérêt", //French
  u8"Gesäß", //German
  u8"取消波蘇日奇諾", //Chinese
  u8"日本人のビット", //Japanese
  u8"немного русский", //Russian
  u8"ένα κομμάτι της ελληνικής", // Greek
  u8"ਯੂਨਾਨੀ ਦੀ ਇੱਕ ਬਿੱਟ", // Punjabi (wtf?). xD
  u8"کمی از ایران ", // Persian (I know it, from 300 movie)
  u8"కానీ ఈ ఏమి నరకం ఉంది?", //Telugu (telu-what?)
  u8"Но какво, по дяволите, е това?" //Bulgarian
};

constexpr size_t ntexts = sizeof(texts) / sizeof(texts[0]);

int main(void)
{
  std::locale::global(std::locale(""));
  cout.imbue(std::locale());

  for ( size_t i = 0; i < ntexts; ++i )
    cout << texts[i] << endl;

  return EXIT_SUCCESS;
}

在这些示例中,使用当前区域设置应该设置流,以便在输出时自动使用正确的字符集。第二个示例不太可能假设字符串位于错误的字符集中。

一些建议的重复项在C++14中看起来过时了,因为C++14更容易使用。这应该可以工作,可移植,如果您的区域设置正确。为此,要将控制台字体设置为Lucida console或ConsoleAs,请在控制台中运行
chcp 65001
,然后再运行程序(或编辑注册表以在默认情况下执行此操作),将源文件的字符集设置为多字节(UTF-8)或Unicode(UTF-16),并将IDE的字体设置为ConsoleAS

如果这太繁琐了,其他人已经发布了如何在程序中更改代码页的说明,但您仍然希望将源文件保存为UTF-8,以便可以在字符串常量中使用外来字符,并将字体更改为可以显示它们的字体

#include <cstddef>
#include <iostream>
#include <locale>

using std::cout;
using std::endl;

constexpr char * const texts[] = {
  u8"Ñá", //Spanish
  u8"forêt intérêt", //French
  u8"Gesäß", //German
  u8"取消波蘇日奇諾", //Chinese
  u8"日本人のビット", //Japanese
  u8"немного русский", //Russian
  u8"ένα κομμάτι της ελληνικής", // Greek
  u8"ਯੂਨਾਨੀ ਦੀ ਇੱਕ ਬਿੱਟ", // Punjabi (wtf?). xD
  u8"کمی از ایران ", // Persian (I know it, from 300 movie)
  u8"కానీ ఈ ఏమి నరకం ఉంది?", //Telugu (telu-what?)
  u8"Но какво, по дяволите, е това?" //Bulgarian
};

constexpr size_t ntexts = sizeof(texts) / sizeof(texts[0]);

int main(void)
{
  std::locale::global(std::locale(""));
  cout.imbue(std::locale());

  for ( size_t i = 0; i < ntexts; ++i )
    cout << texts[i] << endl;

  return EXIT_SUCCESS;
}

在这些示例中,使用当前区域设置应该设置流,以便在输出时自动使用正确的字符集。第二个示例不太可能假设字符串位于错误的字符集中。

一些建议的重复项在C++14中看起来过时了,因为C++14更容易使用。这应该可以工作,可移植,如果您的区域设置正确。为此,要将控制台字体设置为Lucida console或ConsoleAs,请在控制台中运行
chcp 65001
,然后再运行程序(或编辑注册表以在默认情况下执行此操作),将源文件的字符集设置为多字节(UTF-8)或Unicode(UTF-16),并将IDE的字体设置为ConsoleAS

如果这太繁琐了,其他人已经发布了如何在程序中更改代码页的说明,但您仍然希望将源文件保存为UTF-8,以便可以在字符串常量中使用外来字符,并将字体更改为可以显示它们的字体

#include <cstddef>
#include <iostream>
#include <locale>

using std::cout;
using std::endl;

constexpr char * const texts[] = {
  u8"Ñá", //Spanish
  u8"forêt intérêt", //French
  u8"Gesäß", //German
  u8"取消波蘇日奇諾", //Chinese
  u8"日本人のビット", //Japanese
  u8"немного русский", //Russian
  u8"ένα κομμάτι της ελληνικής", // Greek
  u8"ਯੂਨਾਨੀ ਦੀ ਇੱਕ ਬਿੱਟ", // Punjabi (wtf?). xD
  u8"کمی از ایران ", // Persian (I know it, from 300 movie)
  u8"కానీ ఈ ఏమి నరకం ఉంది?", //Telugu (telu-what?)
  u8"Но какво, по дяволите, е това?" //Bulgarian
};

constexpr size_t ntexts = sizeof(texts) / sizeof(texts[0]);

int main(void)
{
  std::locale::global(std::locale(""));
  cout.imbue(std::locale());

  for ( size_t i = 0; i < ntexts; ++i )
    cout << texts[i] << endl;

  return EXIT_SUCCESS;
}

在这些示例中,使用当前区域设置应该设置流,以便在输出时自动使用正确的字符集。第二个示例不太可能假设字符串位于错误的字符集中。

一些建议的重复项在C++14中看起来过时了,因为C++14更容易使用。这应该可以工作,可移植,如果您的区域设置正确。为此,要将控制台字体设置为Lucida console或ConsoleAs,请在控制台中运行
chcp 65001
,然后再运行程序(或编辑注册表以在默认情况下执行此操作),将源文件的字符集设置为多字节(UTF-8)或Unicode(UTF-16),并将IDE的字体设置为ConsoleAS

如果这太繁琐了,其他人已经发布了如何在程序中更改代码页的说明,但您仍然希望将源文件保存为UTF-8,以便可以在字符串常量中使用外来字符,并将字体更改为可以显示它们的字体

#include <cstddef>
#include <iostream>
#include <locale>

using std::cout;
using std::endl;

constexpr char * const texts[] = {
  u8"Ñá", //Spanish
  u8"forêt intérêt", //French
  u8"Gesäß", //German
  u8"取消波蘇日奇諾", //Chinese
  u8"日本人のビット", //Japanese
  u8"немного русский", //Russian
  u8"ένα κομμάτι της ελληνικής", // Greek
  u8"ਯੂਨਾਨੀ ਦੀ ਇੱਕ ਬਿੱਟ", // Punjabi (wtf?). xD
  u8"کمی از ایران ", // Persian (I know it, from 300 movie)
  u8"కానీ ఈ ఏమి నరకం ఉంది?", //Telugu (telu-what?)
  u8"Но какво, по дяволите, е това?" //Bulgarian
};

constexpr size_t ntexts = sizeof(texts) / sizeof(texts[0]);

int main(void)
{
  std::locale::global(std::locale(""));
  cout.imbue(std::locale());

  for ( size_t i = 0; i < ntexts; ++i )
    cout << texts[i] << endl;

  return EXIT_SUCCESS;
}

使用当前区域,如在这些示例中,应该设置流来自动使用正确的字符集。第二个例子不太可能假设字符串处于错误的字符集。

可能的技术重复,这不是一个精确的副本,因为这是针对特定C++实现的。另一个是,你看了或者可能是技术上的复制品,这不是一个精确的复制品,因为这是一个特定的C++实现,而另一个不是。你看了或者可能是技术上的复制品,它不是一个精确的复制品,因为这是针对一个特定的C++实现而另一个不是。您是否已经查看或复制了技术上的副本,这不是一个精确的副本,因为这是一个特定的C++实现,而另一个不是。应该是这样的:一个脚本中的语言检测是一个更复杂的问题,需要进行一些文本分析。我认为您应该检查像Pango这样的高级文本引擎。据我所知,unicode代码表示“ñá”据我所知,一个脚本中的语言检测是一个更复杂的问题,需要一些文本分析。我认为你应该检查像Pango这样的高级文本引擎