- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取通过 libexpect 输入的命令产生的输出,我不太擅长 C 风格的操作,并且我不确定如何继续。
问题是,虽然这对于 python 用户来说是一个流行的程序,但我只能找到一些在 C/C++ 中使用 libexpect 的基本示例,并且似乎没有提到获取输出。
示例程序:
// g++ t.cpp -lexpect -ltcl -o t
#include <iostream>
#include <tcl8.5/expect.h>
int main(){
FILE *echo = exp_popen(const_cast<char *>("telnet google.com 80"));
std::cout << char(fgetc(echo)) << std::endl;
std::cout << std::string(80, '=') << std::endl;
char c;
do{
c = fgetc(echo);
std::cout << "'" << c << "'";
}while(c != EOF);
return 0;
}
虽然这部分有效,但无法获取第一个字符。
最佳答案
实际上,在我发布正确答案后,SO 在侧面显示了一个链接,我想我看起来不够仔细:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <tcl8.5/expect.h>
#include <errno.h>
int main()
{
char str[512];
FILE *f = exp_popen("ssh user@mybox ls -lR");
if (f==NULL)
{
printf("Failed (%s)\n", strerror(errno));
return 1;
}
while(fgets(str, sizeof(str)-1, f))
{
printf("%s", str);
}
return 0;
}
(取自 How to read stdout from a FILE* created with libexpect in C++ on linux? )
关于c++ - 从 libexpect 获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571947/
我正在尝试获取通过 libexpect 输入的命令产生的输出,我不太擅长 C 风格的操作,并且我不确定如何继续。 问题是,虽然这对于 python 用户来说是一个流行的程序,但我只能找到一些在 C/C
我想仅使用 ssh 密码在我的 C 程序(适用于 Linux)中自动安装 sshfs 连接。 (我不想使用公钥/私钥。) 看来我可以用 libexpect 来做到这一点。基于this thread似乎
我正忙于一个项目,我必须在 bash 或 ssh 中自动化一些进程,所以我决定使用 libexpect.so 库。如果您不知道 libexpect 是什么,它提供了一个我可以在 c++ 程序中使用的
我想使用 libexpect API http://linux.die.net/man/3/libexpect ,但我不确定如何获取此代码并在 Xcode 中使用它。我正在学习 C 并且想构建一些 c
我们将操作系统从 CentOS6 升级到 CentOS7,现在我们基于 libexpect 的程序在使用 SEGV 启动时立即崩溃。 CentOS7 CentOS6 T
使用 C++,我使用 libexpect 创建了一个 FILE*: FILE* fd = exp_popen("ssh root@sunblaze"); 我使用以下命令进入命令行: exp_fexpe
我是一名优秀的程序员,十分优秀!