如果您可以在 C++ 中将串行数据视为文件,那么 termios 的用途是什么?

If you can use treat serial data as files in C++, what's the purpose of termios?

我听说你可以这样做:

ostream dev("tty.mydevice");
dev < "hi";

那么,为什么我们需要 termios。换句话说,这道题的代码是干什么用的?

Reading Serial Data From C (OSX /dev/tty)

termios 提供特定于串行端口和终端的功能,这些功能无法通过标准 I/O 获得。例如,它允许:

  • 设置波特率
  • 读写控制线,如RTS/CTS和发送中断序列
  • 配置某些字符翻译选项(本地回显、CR/CRLF 转换、支持电传打字机和硬拷贝终端等奇怪的东西)
  • 在终端中配置控制序列的效果(处理^C^Z等)
  • 在终端中获取有关前台进程的信息(作业控制)
  • 获取终端的 window 大小