c - 如何使用c在终端上实现 "text editor"风格的界面

标签 c user-interface input

我还没有尝试制作文本编辑器。我现在想做的事情更简单。它将是一个命令行工具(Linux 或 Windows)。当您执行它时,用户将看到一个清除的终端区域,就像您尝试使用 vi 创建一个新文件一样。
然后用户可以输入一些预定义的命令。问题:如何定义用户输入的位置?就像终端屏幕底部的 vi 所做的那样?
根据用户输入的命令,一些信息或图形将显示/绘制在屏幕上。
用户可以随时输入命令,结果会立即输出。

对我来说,困难在于如何实现这样的输入/输出接口(interface)。有什么不清楚的地方请评论。

最佳答案

C 标准“本身”没有为此任务定义任何内容,就其而言,终端“就像一个文件”——两个(三个计数 stderr)数据流,仅此而已。

要以更高级的方式使用终端,您必须使用特定于平台的方法,例如 ioctl calls或 VT* 转义序列。但更可能的是,您最好使用更高级别的库来处理所有低级别的麻烦,并让您专注于更重要的事情,经典的库是 ncurses .

关于c - 如何使用c在终端上实现 "text editor"风格的界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8772752/

相关文章:

javascript - 如何暂停JavaScript中的主循环处理,直到按下某个键?

python - 在 python tkinter 中多次获取相同的输入?

c - 在 Visual Studio 2013 中, "Run-Time Check Failure #2 - Stack around the variable ' b' 已损坏。”

c - MPI_Send 和 MPI_Recv 开销

c - 在 gdb 中打印函数宏定义

javascript - 通过 slider 移动更改 slider 值

c - 无法通过使用 i-- 从 argc 开始并向下计数到 0 来使这些循环向后计数

java - 是什么阻止了我的进度条更新?

来 self 的应用程序的 Facebook 通知出现和消失

css - 在 google chrome devtools 中查找占位符伪样式