【问题标题】:Printf starting line of printprintf 打印起始行
【发布时间】:2014-06-30 17:08:31
【问题描述】:

能否使用C语言中的printf函数来控制打印的起始行号和列号?如果是这样,怎么办?如果没有,是否有任何其他功能或方法可以用来做同样的事情?谢谢。

【问题讨论】:

  • 我们能知道你到底想做什么吗?
  • 部分终端支持VT100 control codes,包括光标控制。另请阅读ncursesWindows console functions
  • 无法控制栏目; printf() 在第 1 列开始打印。如果您希望输出从第 N 列开始(N > 1),那么您必须确保首先生成 N-1 个空白(或等效)。
  • C 标准并没有说stdout 是一个终端。可以是普通文件、网络设备、屏幕阅读器、管道、大声朗读输出的人……不需要像行和列这样的东西。
  • 清除屏幕不是 C 的一部分,而是目标系统终端的一部分。各种终端会根据'\v'垂直制表符、转义序列等控制码清除。需要知道终端或其家族。

标签: c header printf


【解决方案1】:

使用标准 C 是不可能的,有一些转义序列可以在 Linux 下使用,也许是可能的(我没有测试过,我知道你可以更改前景色和背景色)。在 Linux 下,您可以尝试使用库 ncurses,它可以满足您的需求。

【讨论】:

  • “使用标准 C 是不可能的”肯定不同意那里。 ncurses 本身就是一个 c 库。
  • 当我说“使用标准 C 是不可能的”时,我的意思是不使用额外的库。据我所知,Windows 没有 ncurses 端口(@98​​7654321@)。我们不知道他/她使用的是 Linux 还是 Windows。
猜你喜欢
  • 2015-10-15
  • 2016-08-11
  • 1970-01-01
  • 2014-08-05
  • 2013-08-18
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多