希腊字母在Windows Concole

希腊字母在Windows Concole,第1张

概述希腊字母在Windows Concole

我正在用C写一个程序,当我在cmd.exe中运行它时,我希望在菜单中有希腊字符。 有人说,为了包含希腊字符,你必须使用一个printf ,像这样:

printf(charset:IS0-1089:uffe);

但他们不确定。

有谁知道这是怎么做到的吗?

确定IP是否被阻止

是什么让我的计时器跑不准?

在我的glibc版本中,ld-linux的segfault

将SurfaceImageSource转换为PNG

如何在linux上正确设置串行通信

如何从java服务器发送一个string到C ++客户端?

如何摆脱Visual Studio(strcpy,sprintf,strdup)中的“不安全”警告/错误

控制台窗口有图标,但是OpenGL / gluT窗口没有。 为什么?

Visual Studio c#远程deBUGgingclosureswindows服务

什么是linux相当于LPTSTR和LPCSTR?

假设windows,您可以:

将您的控制台字体设置为Unicode TrueType字体:

使用“ANSI”机制发射数据

此代码打印γειά σου :

#include "windows.h" int main() { SetConsoleOutputCP(1253); //"ANSI" Greek printf("xE3xE5xE9xDC xF3xEFxF5"); return 0; }

十六进制代码表示编码为windows-1253时的γειά σου 。 如果使用编辑器将数据保存为windows-1253,则可以使用文字。 另一种方法是使用OEM 737 (实际上是DOS编码)或使用Unicode。

我使用SetConsoleOutputCP来设置控制台代码页,但是可以在运行程序之前键入命令chcp 1253 。

你可以使用printf打印一个unicode字符:

printf("u0220n");

这将打印Ƞ

我认为这可能只适用于你的控制台支持希腊语。 可能你想要做的是将字符映射到希腊语,但使用ASCII。 对于C#,但在C中有相同的想法

913到936 =大写的希腊字母

945到968 =小写希腊字母

阅读更多在Suite101:使用希腊字母和C#:如何正确显示ASCII代码创建C#应用程序| Suite101.com在这个链接 。

一种方法是打印一个宽字符串。 不幸的是,windows需要一些非标准的设置来完成这个工作。 这段代码在#if块内部完成了这个设置。

#include <locale.h> #include <stdlib.h> #include <stdio.h> #include <wchar.h> /* This has been reported not to autodetect correctly on tdm-gcc. */ #ifndef MS_STDliB_BUGS // Allow overrIDing the autodetection. # if ( _WIN32 || _WIN64 ) # define MS_STDliB_BUGS 1 # else # define MS_STDliB_BUGS 0 # endif #endif #if MS_STDliB_BUGS # include <io.h> # include <fcntl.h> #endif voID init_locale(voID) // Does magic so that wprintf() can work. { // Constant for fwIDe(). static const int wIDe_orIEnted = 1; #if MS_STDliB_BUGS // windows needs a little non-standard magic. static const char locale_name[] = ".1200"; _setmode( _fileno(stdout),_O_WTEXT ); #else // The correct locale name may vary by OS,eg,"en_US.utf8". static const char locale_name[] = ""; #endif setlocale( LC_ALL,locale_name ); fwIDe( stdout,wIDe_orIEnted ); } int main(voID) { init_locale(); wprintf(L"μουσάων Ἑλικωνιάδων ἀρχώμεθ᾽n"); return EXIT_SUCCESS; }

必须将其保存为带有BOM的UTF-8,以便旧版本的Visual Studio正确读取它。 您的控制台也必须设置为等宽字体统一字体,如LucIDa控制台,以正确显示它。 为了在ASCII字符串中混合宽字符串,标准将%ls和%lc格式说明符定义为printf() ,尽管我发现这些方法在任何地方都行不通。

另一种方法是将控制台设置为UTF-8模式(在windows上,使用chcp 65001进行此 *** 作),然后使用printf(u8"μουσάων Ἑλικωνιάδων ἀρχώμεθ᾽n");打印UTF-8字符串printf(u8"μουσάων Ἑλικωνιάδων ἀρχώμεθ᾽n"); 。 UTF-8是windows上的二等公民,但通常是有效的。 尝试运行,而不先设置代码页,但是,你会得到垃圾。

总结

以上是内存溢出为你收集整理的希腊字母在Windows Concole全部内容,希望文章能够帮你解决希腊字母在Windows Concole所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1270415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存