Gnu-Linux / Unix终端是否有规范或标准宽度?

Ale*_*ird 4 terminal command-line

我必须创建一个在不同的Gnu-Linux / Unix终端上写大量文本的应用程序。有没有我可以参考的标准宽度或标准宽度?我的意思是像在网页设计领域一样,他们通常使用1024像素宽度。

谢谢你的时间。

Jla*_*nge 5

传统上,80个字符的限制(即,长度超过80个字符的行将换行到下一行)一直是标准。但是,已经讨论了该标准的相关性(请参阅此处)。但是,根据我在大学的经历,我们得知在终端机中舒适地观看是80个字符。如果您为Linux使用默认的12pt等宽字体,则这意味着一个好的宽度约为80 *一个字符的宽度。更好的解决方案可能是简单地以编程方式切断每行80个字符。

tldr:80个字符


ak2*_*ak2 5

程序可以使用ioctl()带有TIOCGWINSZ请求代码的系统调用从终端驱动程序获取终端宽度和高度。如果不可用,将默认值设置为80似乎是明智的。

例如:

#include <sys/ioctl.h>

int get_term_width(void) {
  struct winsize ws;
  if (ioctl(1, TIOCGWINSZ, &ws) >= 0)
    return ws.ws_col;
  else
    return 80;
}
Run Code Online (Sandbox Code Playgroud)