c++ - 将字符发送到控制台应用程序

标签 c++ linux ubuntu

我有一个在终端窗口中运行的简单控制台应用程序读取和打印字符:

int main(int argc, char **argv, char **envp)
{
    while (true)
    {
        char c =getchar();
        printf("%c \n",c);

    }

}

现在我想制作可以在第一个应用程序终端中模拟字符按下的测试应用程序。

我应该走哪条路?为此,我应该使用哪些 API 函数?

最佳答案

不需要特殊的 API 或其他任何东西。由于您的示例应用程序仅从标准输入读取数据,因此您可以将内容发送到那里。

在终端中运行程序之前,使用tty 命令检查其连接的终端。然后将数据发送到 tty 报告的那个 tty。

或者,获取正在运行的应用程序的 PID 并将数据发送到 /proc/$PID/fd/0,这样您就不需要检查 tty。

关于c++ - 将字符发送到控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48622055/

相关文章:

linux - Linux 内核模块中的字符串操作

node.js - 安装 Node npm v1.0.1

c++ - 任意对象的单例替代方案

c++ - exec 如何改变执行程序的行为

c++ - 推力 set_intersection 是如何工作的?

python - 使用 Popen 独立运行 python 子进程

ubuntu - 如何在ubuntu上添加证书?

node.js - Nginx + NodeJS 重定向到端口 80

c++ - 在Windows中将数据分配到特定地址?

c++ - 重构重复的代码