windows上的换行标记应该是CR+LF而在Unix上,它只是LF 。
所以当我使用像Console.Write("line1nline2"); 为什么它会“正常”地工作,给我两条线? 我希望这个n不能工作,只有rn的组合才能工作。
linux上Data Protection API的等价物
使用BluetoothLEDevice.FromIDAsync连接到蓝牙设备会导致错误
在winXP https请求错误
是否有windows错误报告的.Net API
如何判断windows何时处于非活动状态
' n'是换行符。 传统上,它导致打印机将纸张卷起一行。 “ r”是回车符,传统上它会导致打印头移动到纸张的最左边。
在以这种方式解释字符的打印机和控制台上, line1nline2的输出是
line1 line2
许多控制台(和编辑器)会将“ n”解释为表示要开始一个新行,并将光标定位在新行的开头。 这就是你在这里看到的。
你应该使用Environment.Newline而不是硬编码任何特定的常量。
这只是底层windows控制台的标准行为。 如果你输出0x0A到控制台,本地C应用程序将完全相同。
当然,你应该使用Environment.Newline作为你的新行。 Environment.Newline在windows上解析为rn n在Unix上解析为rn n ,就像系统一样。
文件编码!= Console解释。
换句话说,虽然CR + LF的“windows标准”存在于文件中,但只有LF或n在控制台窗口中产生了适当的回车和新行解释。
n是换行符。 在* nix和windows系统上,它应该创建2行。 r是回车符,它将书写工具移动到行首。
大多数现代游戏机/编辑器都足够有d性来将 n解释为 r n
根据我的经验,当用Writeline()输出到控制台时,它接受 n转义字符。 当您使用StreamWriter并调用Writeline()时,它会让您输入 r n来移动到新行。 我假定控制台已经被编程为接受 n转义字符,而没有回车 r。
总结以上是内存溢出为你收集整理的为什么“\ n”在Windows上换行?全部内容,希望文章能够帮你解决为什么“\ n”在Windows上换行?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)