C语言使用cmd命令并获取输出方法

转自http://blog.csdn.net/hxh129/article/details/8000205

C语言使用cmd命令并获取输出方法

在实践中,我们有时候需要用C语言来调用cmd的命令,并得到执行的结果,这里给出一个简单的例子。

#include <stdio.h>

// 描述:execmd函数执行命令,并将结果存储到result字符串数组中

// 参数:cmd表示要执行的命令

// result是执行的结果存储的字符串数组

// 函数执行成功返回1,失败返回0

int execmd(char* cmd,char* result) {

char buffer[128];                         //定义缓冲区

FILE* pipe = _popen(cmd, "r");            //打开管道,并执行命令

if (!pipe)

return 0;                      //返回0表示运行失败

while(!feof(pipe)) {

if(fgets(buffer, 128, pipe)){             //将管道输出到result中

strcat(result,buffer);

}

}

_pclose(pipe);                            //关闭管道

return 1;                                 //返回1表示运行成功

}

int main(){

char result[1024*4]="";                   //定义存放结果的字符串数组

if(1==execmd("ipconfig",result)){

printf(result);

}

system("pause");                          //暂停以查看结果

}

另外,微软的MSDN文档中有更多详细的说明,有兴趣的朋友可以看看:http://msdn.microsoft.com/en-us/library/96ayss4b(v=vs.80).aspx。

时间: 2024-10-28 03:47:28

C语言使用cmd命令并获取输出方法的相关文章

java执行cmd命令并获取输出结果

1.java执行cmd命令并获取输出结果 1 import java.io.BufferedReader; 2 import java.io.InputStreamReader; 3 4 import org.apache.commons.lang3.text.StrBuilder; 5 6 /** 7 * 8 * @author user1 9 */ 10 public class DeleteProgram { 11 public static void run() { 12 Runtime

如何让Qt程序能在cmd命令行下输出qDebug信息

若让Qt程序能在cmd命令行下输出qDebug()信息, 则在pro文件中增加: WIN32: CONFIG += console 即可. 启动qt程序时会弹出一个cmd框和一个ui框,就可以看到调试信息了.

JAVA中调用CMD命令,并输出执行结果

package com.wzw.util; import java.io.BufferedReader; import java.io.InputStreamReader; public class CmdDemo { public static void main(String[] args) { BufferedReader br = null; try { Process p = Runtime.getRuntime().exec("net user"); br = new Bu

C#中隐式运行CMD命令行窗口的方法

using System; using System.Diagnostics; namespace Business { /// <summary> /// Command 的摘要说明. /// </summary> public class Command { private Process proc = null; /// <summary> /// 构造方法 /// </summary> public Command() { proc = new Pr

C/C++学习----使用C语言代替cmd命令、cmd命令大全

[开发环境] 物理机版本:Win 7 旗舰版(64位) IDE版本:Visual Studio 2013简体中文旗舰版(cn_visual_studio_ultimate_2013_with_update_4_x86_dvd_5935081_Chinese-Simplified) [前言] cmd常用命令: calc:启动计算器 notepad:打开记事本 netstat -a:查看所有的端口 d:      盘符切换 dir(directory)      列出当前目录下的文件以及文件夹 md

Python实现Windows CMD命令行彩色输出

#! /usr/bin/env python #coding=utf-8 import ctypes,sys STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE = -11 STD_ERROR_HANDLE = -12 # 字体颜色定义 ,关键在于颜色编码,由2位十六进制组成,分别取0~f,前一位指的是背景色,后一位指的是字体色 #由于该函数的限制,应该是只有这16种,可以前景色与背景色组合.也可以几种颜色通过或运算组合,组合后还是在这16种颜色中 # Window

Python实现Windows CMD命令行彩色输出(由网友提供)

# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' import ctypes,sys STD_INPUT_HANDLE=-10 STD_OUTPUT_HANDLE=-11 STD_ERRIR_HANDLE=-12 #定义字体颜色,由于颜色编码,是由2位十六进制组成,分别娶0~f,前一位是指背景色,后一位是字体色 #因为由于函数限制,只有16种颜色,可以进行把前和后景色组合,也可以把其他颜色混合 # Windows 

windows远程执行cmd命令的9种方法

一.远程执行命令方式及对应端口: ? IPC$+AT 445 ? PSEXEC 445 ? WMI 135 ? Winrm 5985(HTTP)&5986(HTTPS) 二.9种远程执行cmd命令的方法: 1.WMI执行命令方式,无回显: wmic /node:192.168.1.158 /user:pt007 /password:admin123 process call create "cmd.exe /c ipconfig>d:\result.txt" 2.使用Ha

执行外部命令并获取输出

# 如何获取一个外部命令并以python字符串的形式获取结果 # 可以使用subprocess模块下的check_output函数 import subprocess out_bytes = subprocess.check_output("ipconfig") out_text = str(out_bytes, encoding="gbk") print(out_text) ''' Windows IP 配置 以太网适配器 以太网: 连接特定的 DNS 后缀 .