如何获得英语以外的其他口语输出?
How to get output in other spoken languages other than English?
我想用英语以外的口语制作一个计算器,例如印地语。我尝试使用“'cout'”函数制作一个,但它给了我意想不到的错误。请告诉我该怎么做
代码示例
cout<<name<<", "<<"कृपया ऑपरेटर दर्ज करें--> ";
cin>>op;
switch (op)
{
case '+':
cout<<name<<", "<<"कृपया पहला नंबर दर्ज करें--> ";
cin>>x;
cout<<name<<", "<<"कृपया दूसरा नंबर दर्ज करें--> ";
cin>>y;
结果:
कृपया ऑपरेटर दर्ज करें--> +
कृपया पहला नंबर दर्ज करें-->
कृपया दूसरा नंबर दर्ज करें-->
我不熟悉控制台中使用的印地语字体,但你需要做以下事情:-
- 使用 std::locale 或使用 unicode(对于 examplestd::wstring 和 std::wcout)设置正确的代码页。
- 将您的控制台设置为可以显示这些字符的字体。
建议你找印地文字符集,像英文有ASCII
(分类ISO646
系列)。
您可以找到有关 wstring
和 wcout
的更多信息,here 发布者 user.Remember 将代码文件保存为 UTF8(或正确的语言环境) ) 否则字符将从代码中简单地 'disappear'。
要以印地语或任何 none 语言显示输出,我们首先需要将 UTF 编码设置为输出编码
#include <string>
#include <iostream>
#include <Windows.h>
int main() {
std::string test = u8"Greek: αβγδ; German: Übergrößenträger";
SetConsoleOutputCP(65001);
std::cout << test;
}
您可以在 C++ 中使用 setlocale 函数。您可以包括 locale.h header(如果您需要更多特定于 C 的功能,此功能可以提供使用货币、语言等的可能性)。
示例代码:
include <locale.h>
int main(){
setlocale(LC_ALL,"en_US.utf8");
// Your code
return 0;
}
说明: setlocale函数设置当前程序使用的地区信息,而不是改变整个地区。 setlocale函数接受两个参数:1.category(LC_ALL
); 2. 语言环境("en_US.utf8"
)。语言环境可以不同。
参考:setlocale in c++ (reference)
这个功能对我的项目帮助很大。
我想用英语以外的口语制作一个计算器,例如印地语。我尝试使用“'cout'”函数制作一个,但它给了我意想不到的错误。请告诉我该怎么做
代码示例
cout<<name<<", "<<"कृपया ऑपरेटर दर्ज करें--> ";
cin>>op;
switch (op)
{
case '+':
cout<<name<<", "<<"कृपया पहला नंबर दर्ज करें--> ";
cin>>x;
cout<<name<<", "<<"कृपया दूसरा नंबर दर्ज करें--> ";
cin>>y;
结果:
कृपया ऑपरेटर दर्ज करें--> +
कृपया पहला नंबर दर्ज करें-->
कृपया दूसरा नंबर दर्ज करें-->
我不熟悉控制台中使用的印地语字体,但你需要做以下事情:-
- 使用 std::locale 或使用 unicode(对于 examplestd::wstring 和 std::wcout)设置正确的代码页。
- 将您的控制台设置为可以显示这些字符的字体。
建议你找印地文字符集,像英文有ASCII
(分类ISO646
系列)。
您可以找到有关 wstring
和 wcout
的更多信息,here 发布者 user.Remember 将代码文件保存为 UTF8(或正确的语言环境) ) 否则字符将从代码中简单地 'disappear'。
要以印地语或任何 none 语言显示输出,我们首先需要将 UTF 编码设置为输出编码
#include <string>
#include <iostream>
#include <Windows.h>
int main() {
std::string test = u8"Greek: αβγδ; German: Übergrößenträger";
SetConsoleOutputCP(65001);
std::cout << test;
}
您可以在 C++ 中使用 setlocale 函数。您可以包括 locale.h header(如果您需要更多特定于 C 的功能,此功能可以提供使用货币、语言等的可能性)。 示例代码:
include <locale.h>
int main(){
setlocale(LC_ALL,"en_US.utf8");
// Your code
return 0;
}
说明: setlocale函数设置当前程序使用的地区信息,而不是改变整个地区。 setlocale函数接受两个参数:1.category(LC_ALL
); 2. 语言环境("en_US.utf8"
)。语言环境可以不同。
参考:setlocale in c++ (reference)
这个功能对我的项目帮助很大。