在 Windows 中打印到控制台时需要回车吗?

2023-12-07

看起来只放一个换行就足够了,但我知道它应该是回车+换行。如果不输入回车符而只使用换行符,会发生什么可怕的事情吗?

这是 ANSI C 格式的,不会重定向到文件或其他任何内容。只是一个普通的控制台应用程序。


Windows 控制台遵循与文件或实际物理终端相同的行结束约定。它需要同时看到 CR 和 LF 才能正确移动到下一行。

也就是说,ANSI C 程序和控制台之间有很多软件基础设施。特别是,任何标准 C 库 I/O 函数都会尝试做正确的事情,假设您已经允许它这样做。这就是为什么fopen()'s t and b修饰符为mode参数被定义。

With t(大多数流的默认设置,特别是stdin and stdout)然后任意\nprint 被转换为 CRLF 序列,读取时则相反。要关闭该行为,请使用b修饰符。

顺便说一句,传统上连接到 *nix 盒子的终端(包括 XTerm 模拟的 DEC VT100)也需要 CR 和 LF。然而,在 *nix 世界中,从换行符到 CRLF 序列的转换是在 tty 设备驱动程序中处理的,因此大多数程序不需要了解它,并且t and b修饰符都被忽略。在这些平台上,如果您需要在 tty 上发送和接收字符而不进行修改,则需要查找 stty(1) 或它所依赖的系统调用。

如果您的其他 ANSI C 程序避免对控制台进行 C 库 I/O(可能是因为您需要访问控制台的字符颜色和其他属性),那么您是否需要发送 CR 将取决于您正在使用哪个 Win32 API 调用发送字符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 中打印到控制台时需要回车吗? 的相关文章

  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • Windows C++ 中的键盘钩子还是什么?

    我希望构建自己的应用程序 它可以将键盘命令 消息 发送到 Windows 操作系统 例如 当我按下组合键 ctrl shift n 时 我希望启动 notepad exe 我怎样才能做到这一点 您对所使用的概念有什么建议吗 我读过 何时使用
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • 在oracle中查找父节点(任何级别)的最多子节点

    我的表结构是 Parent ID ID a b b c b d b e c f d g e h 我想获得所有父节点的最多子节点 在另一个表中我有 a b 和 c 然后我想得到下面的结果 Parent ID Chi
  • 考虑到使用 Task.Run 异步运行任何方法的能力,.Net Framework 中的 *Async 方法的用途是什么?

    简短的问题 为什么 Net Framework 添加了很多 Async 版本的方法而不是开发人员只使用Task Run异步运行同步方法 详细问题 我理解异步的概念 我知道关于Tasks 我知道 async await 关键字 我知道 Net
  • PyQt5 失败并显示神秘消息

    我创建了带有模型和视图的小应用程序 自从 PyQt5 开始每次出现问题就会崩溃 Process finished with exit code 1073740791 0xC0000409 其极其神秘 我不知道哪个组件出现故障 一段时间以来
  • 获取twitter公开时间线,json+C#,无第3方库

    我是 C 和 JSON 的初学者 我只用 Java 编码 基本的东西 如读 写文件 哈希图等 没有任何 Web 开发 初学者程序员 我是一名学生 负责用 C 编写一个与 Twitter 交互的控制台应用程序 目前 我仍停留在极端的基础知识上
  • 当有多个类时,如何找到元素的特定类名?

    我的页面上有一些 DIV 每个都有 3 个类 grid push 和 pull 其中 是一个实际数字 我需要分别替换每个类 即删除 class grid 1 并将其替换为 class grid 14 我正在使用选择列表来选择新类别 我需要旧
  • Karma 运行单一测试

    我使用业力来运行测试 我有很多测试 运行所有测试是一个非常缓慢的过程 我只想运行一个测试 以便花费更少的时间 因为所有测试都运行大约 10 分钟 是否可以 如果您正在使用因果报应 茉莉花堆栈 使用 fdescribe when functi
  • ||是什么意思在 JavaScript 中?

    我正在查看这些代码行here if callback callback sig graph 我从未在 javascript 方法调用中看到垂直的 或 条 他们的意思是什么 他们是否传递 true 参数 即 sig 或 graph 他们是否传
  • DateTime.TryParseExact 不适用于预期的字符串

    您好 我有以下方法 我将值 07 Jan 2014 13 48 46 传递给它 据我了解 TryParseExact 应该匹配格式 dd MMM yyyy hh mm ss 并返回 true 但它返回 false 有什么想法吗 string
  • 如果字符串的第一个字符为 0,则删除该字符

    我想删除字符串的第一个字符 如果第一个字符是 0 0 可以出现多次 有没有一个简单的函数可以检查第一个字符 如果为 0 则将其删除 现在我正在用 JS 尝试slice 功能但是很别扭 您可以使用删除字符串的第一个字符substring va
  • 失败的道具类型:道具“actions”在“测试”中被标记为必需,但其值为“未定义”

    我正在使用 React 和 Redux 创建一个简单的登录表单 我的app js is import React from react import render from react dom import Input from react
  • 如何从 JFileChooser 检索 UNC 路径而不是映射的驱动器路径

    只是想知道是否有办法从使用 JFileChooser 选择的文件返回 UNC 路径 我要选择的文件将驻留在具有 UNC 路径的映射驱动器上 现在 我似乎只能拉回映射驱动器的驱动器号 From https stackoverflow com
  • 如何使用 Gmail API 检查传入的新邮件

    我已经设置了一个可以从 Gmail 帐户中提取数据的 python 脚本 但我想将其设置为仅提取自上次我进行 API 调用以来的新消息 我将定期 ping 服务器 我已经查看了推送通知和发布 订阅 但我不太确定这些是否相关 或者我应该看看其
  • 如何在一个页面上运行多个ajax调用

    如果我正在制作一个 ajax 化 用户界面 其中包含许多 ajax 调用 用于创建 重命名 删除页面上的各种内容 处理所有这些 代码隐藏 ajax 页面的最佳方法是什么 起初 我为每个调用都有一个不同的 php 文件 即 Candy Ren
  • 使用邮件包时,“短语中缺少单词:不支持字符集”

    我正在尝试解析电子邮件 但使用邮件包时出现此类错误 这是邮件包裹上的错误还是我应该自己处理的问题 missing word in phrase charset not supported gb18030 charset not suppor
  • 由于 SESSION_DOMAIN,laravel 无法登录

    我在 env 中设置了 SESSION DOMAIN example com 现在我无法使用正确的电子邮件和密码登录我的帐户 有人遇到这个问题吗 对于所有遇到此错误的人 当您更改 SESSION DOMAIN 环境参数时 Laravel 将
  • 尽管处于调试模式,Bottle.py 仍缓存模板

    我刚刚在 GAE 上构建了我的第一个 Bottle py 应用程序 它正在工作 只是当我更改模板时 我必须重新启动开发服务器才能看到更改 文档说 当 Bottle debug True 时 模板缓存应该被禁用 并且您也可以调用 Bottle
  • 使用后续查询时出现无法打开数据库文件错误

    我有以下代码 第一个光标对象工作正常 但是当我执行另一个查询并将其分配给 FlightCursor 时 它给出了错误 Cursor cursor database query CityAndAirportsTable notificatio
  • 在 Ionic 中设置 CORS

    我正在创建我的第一个离子应用程序 但我正在与cors斗争 我在这方面没有很多经验 所以这个问题可能看起来很愚蠢 我无权访问 api 站点 因此无法更改其中的任何内容 这是我用来从 api 站点获取数据的代码 我读到cors只是在使用离子服务
  • NSPredicate 精确匹配

    NSArray arrData NSArray arrayWithObjects cloud country plant country cloud plant country plant cloud clouds country plan
  • 在 Windows 中打印到控制台时需要回车吗?

    看起来只放一个换行就足够了 但我知道它应该是回车 换行 如果不输入回车符而只使用换行符 会发生什么可怕的事情吗 这是 ANSI C 格式的 不会重定向到文件或其他任何内容 只是一个普通的控制台应用程序 Windows 控制台遵循与文件或实际