【问题标题】:Output bold text to console in C (on Mac - Xcode)在 C 中将粗体文本输出到控制台(在 Mac 上 - Xcode)
【发布时间】:2016-11-22 21:37:56
【问题描述】:

最近我一直在尝试使用 XcodeC 中编写基本程序,我发现自己正在寻找使文本变为斜体或使其变为粗体或彩色的方法.尽管在 SO 上有许多类似的帖子,但没有一个可以证明对我的情况有帮助,但是我在 C++ 中找到了很多这样的例子(如果这意味着什么的话)。也许无法使用 Xcode 在 C 中格式化文本?

特别是,我已经阅读了有关使用 ANSI 转义编码的信息,但是当我使用此代码:printf("\033[32;1mTest") 时,我最终将其作为输出:[32;1mTest。我相信这是因为 ANSI 转义编码不打算在 MacOS(仅 Linux)上使用。

具体来说,我正在寻找一种在 Mac 上使用 printf 或其他将文本打印到控制台的方法将格式化文本输出到控制台的方法。 (这甚至可能吗?...)

如有需要,请随时询问任何其他信息。

【问题讨论】:

  • 尝试使用\e[32;1m 而不是\033[32;1m,它更通用。你也不需要'm'和'Test'之间的空格。
  • @MDXF 我刚刚尝试过,但没有效果。至于额外的空间,那只是在问题中编写代码时出错,但感谢提醒我
  • 没问题,我对 Mac OS 不是特别熟悉,只是觉得它可能会有所帮助。
  • 您是在 XCode 中运行它并在内部控制台中显示,还是从命令行运行它?内部控制台将转义码显示为文本(即您在其中看到的内容),而不是将它们解释为更改输出的命令。
  • 内部控制台不解释转义码,因此您不会看到颜色显示,粗体 - 即您不会看到您期望的行为。转义码可以在terminal 中正常工作。您可以使用edit scheme 让它在 xcode 的终端中运行

标签: c xcode console-output


【解决方案1】:

XCode 的默认内部控制台不是终端,因此它不会解释转义码。因此,您看不到粗体/颜色更改的效果。

在 XCode 8 上,有一个选项可以编辑方案以使程序在终端中运行。单击停止按钮右侧的弹出窗口,然后选择“编辑方案...”

弹出“编辑方案”屏幕后,选择options,然后选择在终端中运行。

如果您只是想让它从终端运行;您可以单独启动终端,然后将二进制文件从项目导航器的“产品”部分拖放到终端中(它将打印出终端中二进制文件的完整路径,您可以从那里运行它)。

彩色表情符号确实可以在控制台上正确显示;只是它不尊重颜色转义码。

【讨论】:

  • 此选项仅适用于 Mac 应用程序,甚至在 Xcode 12.3 上也存在
  • 是的,它回到了 Xcode 12 中。由于某种原因不在 Xcode 9 中。
猜你喜欢
  • 2023-01-24
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多