首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在从右向左阅读的语言中输出?

如何在从右向左阅读的语言中输出?
EN

Stack Overflow用户
提问于 2013-12-08 12:47:55
回答 2查看 304关注 0票数 2

我很好奇如何处理从右向左阅读的语言(例如阿拉伯语、希伯来语)的输出。在C/C++或我见过的任何语言中,几乎所有东西都是以从左到右输出为前提的。

是否有一个系统调用或其他东西会强制终端,例如,从右到左打印?即便如此,在程序内部,字符串的编码方式类似于字符串(“this is a string")。难道它不需要编写类似string("string a is this")之类的代码,或者使用一些反向函数来处理所有事情吗?

EN

回答 2

Stack Overflow用户

发布于 2013-12-08 13:56:26

我怀疑在实践中,为从右到左语言配置的系统将具有从右到左打印的终端设置,这样C/C++程序的内部就不必担心这一点。

如果这还不能让你放心,这里有一个技巧:

代码语言:javascript
运行
复制
string str = "The look on your face is priceless.";
cout << "\u202e" << str << endl;
票数 1
EN

Stack Overflow用户

发布于 2013-12-08 13:47:53

在最低层,有以“从右到左”的顺序设置窗口的extended window styles:WS_EX_LAYOUTRTL、WS_EX_RIGHT和WS_EX_RTLREADING。另外,还有API调用SetProcessDefaultLayout with LAYOUT_RTL。这些标志和API的正确组合意味着(0,0)坐标是窗口的右上角,x轴呈线性增加。

这里有一个指向classic MSDN article的链接,它解释了所有细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20450017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档