用C语言编写终端控制代码

用C语言编写终端控制代码,c,shell,terminal,command-line-interface,tput,C,Shell,Terminal,Command Line Interface,Tput,我感兴趣的是在C语言中创建一个基于终端的文本界面,而不使用像ncurses这样的库。我知道通过使用tput和各种转义码,可以创建这样的接口。但是,我不确定如何在C中使用tput或类似命令 首先,我想知道在没有外部库的情况下在C中实现这样的东西的最佳选择是什么(这样它就可以在一个基本系统上编译和运行) 其次,如果使用tput是最好的选择,那么如何从C调用这些命令 我知道使用预先存在的库(如ncurses)将大大简化过程,但我希望在没有它们的情况下创建我的程序 提前感谢。标准C库不提供任何可以代替n

我感兴趣的是在C语言中创建一个基于终端的文本界面,而不使用像
ncurses
这样的库。我知道通过使用
tput
和各种转义码,可以创建这样的接口。但是,我不确定如何在C中使用
tput
或类似命令

首先,我想知道在没有外部库的情况下在C中实现这样的东西的最佳选择是什么(这样它就可以在一个基本系统上编译和运行)

其次,如果使用
tput
是最好的选择,那么如何从C调用这些命令

我知道使用预先存在的库(如
ncurses
)将大大简化过程,但我希望在没有它们的情况下创建我的程序


提前感谢。

标准C库不提供任何可以代替
ncurses
中的函数使用的函数。您必须使用
ncurses
或另一个提供同等功能的第三方库。

是否有一种方法可以直接从C调用tput或类似命令?当您说“直接从C”时,我假设您的意思是“标准C库中是否有这样的函数”。答案是“否”。如果你想创建一个文本模式界面,你几乎肯定想使用像ncurses这样的库。诚实的“间接费用”是适度的;生产率的提高和程序健壮性的提高是巨大的。除了显而易见的:使用
system
popen
调用
tput
tput
使用ncurses
tput
对于shell脚本很有用。