首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

vc怎么获取telnet命令的返回值

2013-01-06 
vc如何获取telnet命令的返回值已知telnet管理员用户名和密码,telnet登录后如何获取返回值到本地计算机上。

vc如何获取telnet命令的返回值
已知telnet管理员用户名和密码,telnet登录后如何获取返回值到本地计算机上。要求纯c
[解决办法]
没实际运行,试试看吧。

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void main( void )
{
    FILE *f;

    if ((f=_popen( "telnet.exe >output.txt 2>error.txt","wb"))==NULL) exit(1);
    fputs("open 192.168.1.1\n",f);
    Sleep(500);
    fputs("username\n",f);
    Sleep(500);
    fputs("password\n",f);
    Sleep(500);
    fputs("\x1bclose\n",f);
    Sleep(500);
    fputs("\x1bquit\n",f);
    Sleep(500);
    printf( "\nProcess returned %d\n",_pclose(f));
}



[解决办法]
用管道
[解决办法]
你直接用Socket连上去,发ASCII码就行了,telnet本身挺简单的。你可以找个netcat源码看看。
[解决办法]
引用:
但telnet命令无法重定向标准输入输出。

那就根据telnet协议自己写socket
[解决办法]
管道通信。。。
CreatePipe(phRead, pStdOuthWrite, NULL, 0) 创建读写管道。
DuplicateHandle 复制句柄
CreateProcessA 创建管道子进程,  这里要传入参数 cmd.exe
ReadFile WriteFile 读写管道。 

 真巧, 研究什么,就有人来问什么。。

热点排行