Command line Gnu Linux/Unix终端是否有标准宽度?

Command line Gnu Linux/Unix终端是否有标准宽度?,command-line,terminal,Command Line,Terminal,我必须创建一个应用程序,它在不同的Gnu Linux/Unix终端上写入大量文本。是否有一个标准宽度可以参考?我的意思是,就像在网页设计的世界里,他们使用1024像素宽度作为经验法则 谢谢您的时间。简而言之,80个字符 这是一种事实上的标准,因为事实上,自从穿孔卡片以来。80 cols和24是旧的VT200标准,保留了很长时间 有了今天的图形显示器,你无法坚持这一点,但还有其他方法。 看一看。它是控制台上定位文本的功能集,无论是否重新调整大小等。它是网络课程的主要用户。传统上,80个字符的限制(

我必须创建一个应用程序,它在不同的Gnu Linux/Unix终端上写入大量文本。是否有一个标准宽度可以参考?我的意思是,就像在网页设计的世界里,他们使用1024像素宽度作为经验法则


谢谢您的时间。

简而言之,80个字符


这是一种事实上的标准,因为事实上,自从穿孔卡片以来。

80 cols和24是旧的VT200标准,保留了很长时间

有了今天的图形显示器,你无法坚持这一点,但还有其他方法。
看一看。它是控制台上定位文本的功能集,无论是否重新调整大小等。它是网络课程的主要用户。

传统上,80个字符的限制(即超过80个字符的行被包装到下一行)一直是标准。然而,对本标准的相关性进行了讨论(见)。然而,在我的大学经历中,我们被告知在终端上舒适的观看是80个字符。如果您在linux上使用默认的12pt单间距字体,这意味着一个好的宽度大约是一个字符宽度的80*。一个更好的解决方案可能是简单地以80个字符的编程方式切断每一行


tldr:80个字符程序可以使用
ioctl()
系统调用和
TIOCGWINSZ
请求代码从终端驱动程序获取终端宽度和高度。如果这不可用,默认为80似乎是明智的

例如:

#包括
int get_term_width(void){
结构winsize ws;
如果(ioctl(1,TIOCGWINSZ,&ws)>=0)
返回ws.ws_col;
其他的
返回80;
}