如何用从右到左的语言进行输出
How do you output in languages that are read from right to left?
我很好奇如何处理从右到左读取的语言(如阿拉伯语、希伯来语)的输出。在C/C++或我见过的任何语言中,几乎所有内容都以从左到右的输出为前提。
是否有系统调用或其他东西会强制终端从右向左打印?即便如此,在程序内部,字符串的编码方式类似于字符串("this is a string")。难道它不需要像string("string a is this")这样的代码吗?或者什么都要用一些反向函数吗?
我怀疑在实践中,一个为从右到左语言配置的系统会有从右到右打印的终端设置,这样C/C++程序的内部就不必担心了。
如果这不能让你放心,这里有一个破解:
string str = "The look on your face is priceless.";
cout << "u202e" << str << endl;
在最底层,有用于按"从右到左"顺序设置窗口的扩展窗口样式:WS_EX_LAYOUTRTL、WS_EX_right和WS_EX_RTLREADING。此外,API调用带有LAYOUT_RTL的SetProcessDefaultLayout。这些标志和API的正确组合意味着(0,0)坐标是窗口的右上角,x轴线性增加。
这里有一个MSDN经典文章的链接,它解释了所有的细节。
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 为什么我的代码在输出中增加了93天
- 如何从void函数输出字符串
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 如何在C++中正确地将我的语言字符输出到HTML文件中
- Java 和其他语言在生成子序列时的输出差异
- vtkArrayCalculator语言 - 访问输出时出现分段错误
- 如何在GDB/MI中获取-Interpreter语言 - Exec的输出
- 特定于域的语言工具 Visual Studio 2012 输出C++
- 音频输出C语言(新手)
- 如何用从右到左的语言进行输出
- (c++).非unicode语言(简体中文)输入/输出
- QTextDocument, QPdfWriter语言 - 如何缩放输出
- 相同的语言环境,不同的输出
- 在 C 语言中传递函数输出不正确