C语言调用CMD名后如何获取执行结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言调用CMD名后如何获取执行结果相关的知识,希望对你有一定的参考价值。

例如,判断一个CMD是否运行,可以用命令tasklist /fi imagename eq cmd.exe,那么我用C语言编写的时候,如何获取这段命令执行后的结果。。。

可以这样:
-----------------------------------
代码1(适合一条一条执行的)
运行 ("cmd /c 代码", 假, )
例如:运行 ("cmd /c echo ooo", 假, )
------------------------------------
代码2(适合多条代码,会写到一个文件。)
写到文件 ("文件目录+名称带扩展名", 到字节集("第一行"+"第二行"+"第三行"))
运行运行 ("刚才输入的 文件目录+名称", 假, )
例如:
写到文件 ("C:\123.bat", 到字节集("@echo off"+"pause"))
运行运行 ("C:\123.bat", 假, )
参考技术A 就是在命令行输入后直接显示出来了啊,可能是一闪而过,你在程序后加个getchar() ; 参考技术B 直接调用了cmd.exe了? 那你要替换输出管道才能获取输出结果.具体要用到几个windows sdk函数.详细可以去查阅msdn,有详细的说明和例子

bcb中,怎么用数组获取SQL语句执行的结果?

用的是ADO控件。
执行一条select语句得到的结果又很多个字段,我只要其中两个字段,A和B,并且我要逐条读取,把结果都存在数组或者链表里面,怎么搞?
bcb 就是c++ builder,
我用的是c++!

AnsiString mysql;
AnsiString arr[200][2];
int i=0;
mysql="select A,B from 表名 where 条件";
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(mysql);
ADOQuery1->Open();
while(!ADOQuery->Eof)

Arr[i][0]=ADOQuery1->FieldByName("A")->AsString;
Arr[i][1]=ADOQuery1->FieldByName("B")->AsString;
i++;
参考技术A '你说的是VB?

dim a() as string
dim i as interge
Dim Hzrs As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim sql As string

cnn.Open "Provider=MSDAORA.1;Password=dzcs;User ID=dzcs;Data Source=ORCL_72.11"
Sql = "select a,b from TDzSelinfo"
Hzrs.Open Sql, cnn, adOpenStatic, adLockOptimistic
if Hzrs.RecordCount>0 then redim a(Hzrs.RecordCount,1)
i=0
while not Hzrs.EOF
    a(i,0)=Hzrs!A
    a(i,1)=Hzrs!B
wend

追问

是C++ ,不是VB

以上是关于C语言调用CMD名后如何获取执行结果的主要内容,如果未能解决你的问题,请参考以下文章

python如何获取cmd命令框里的内容

cmd调用gcc编译运行c语言后,c语言会再产生一个窗口显示结果,如何将这些内容显示在cmd命令窗口中?

如何在C语言中调用cmd命令?

Go语言中用 os/exec 执行命令的五种姿势

C或C++如何通过程序执行shell命令并获取命令执行结果?

C语言中如何实现按任意键退出