使用一个终端向其他终端发送输入?

时间:2013-05-23 20:59:24

标签: c linux

我是C编程的初学者,我正在尝试编写一个代码,用于将输入从一个终端发送到另一个终端,我正在运行一个程序(我不知道它是否有任何区别但是这是一个telnet程序)。这样做的原因是我经常在程序中写一个命令并发送一些文本,这使得我写的内容到目前为止无法改变。 我的意图是在一个主终端下的小终端中运行一个程序,并通过这个发送命令,我已经看了很多堆栈溢出的问题来编写这个程序,但它似乎没有用,所以我决定问这里我做错了什么?对不起,如果这不是本网站的适当问题,但它是我所知道的最好的。这是我的代码:

(我也很欣赏你可能有的任何消息)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    char command[1001];
    char px[1001 + 8 + 13 + 3] = "";
    char p1[8] = "echo | ";
    char p2[13] = " > /dev/pts/";
    char p3[3] = "";

    int term, compLimit, i;
    compLimit = 14;

    printf("Put terminal number here: ");
    scanf("%d", &term);
    sprintf(p3, "%s%d", p3, term);

    while(strncmp(px, "exit mudclient", compLimit))
    {
        for(i = 0; i < 1021; i++) px[i] = 0;
        scanf("%s", command);
        strcat(px, p1);
        strcat(px, command);
        strcat(px, p2);
        strcat(px, p3);
        system(px);
    }
    return 0;
}

1 个答案:

答案 0 :(得分:0)

根据您对问题的描述,我认为您实际需要的是掌握ncurses库。有了它,您将能够在单个终端中将输出与输入分开,并且您还将获得全功能的输入编辑功能(具有可滚动的命令历史记录)。