您的位置:

C调用CMD并执行命令

一、C调用CMD的基本方式

在C语言中,调用CMD的方法非常简单。可以使用system函数来调用CMD并执行命令。system函数的参数是一个字符串,字符串中包含需要执行的命令。例如:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    system("cmd /c echo Hello World!");
    return 0;
}

代码中的cmd /c表示执行完命令后关闭CMD窗口,echo Hello World!是要执行的命令。上面的代码在运行时会自动打开CMD,执行完命令后再关闭CMD。

不难看出,使用system函数调用CMD执行命令非常简单方便。下面具体介绍一下system函数的使用方法。

二、system函数的使用方法

system函数的定义如下:

int system(const char *command);

system函数的参数是一个字符串类型的command变量,表示要执行的命令。具体来说,该变量包含了已经写好的命令,可以包括命令参数。例如,如果要在CMD中执行dir命令,可以写成:

system("cmd /c dir");

其中cmd /c表示执行完命令后关闭CMD窗口。

如果要在C程序中获取CMD返回的结果,可以使用C程序的输出流来获取。例如,下面的代码可以在C程序中获取dir命令的输出结果:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *stream = NULL;
    char buf[1024] = {0};
    
    stream = popen("cmd /c dir", "r");
    if (stream != NULL)
    {
        while (fgets(buf, sizeof(buf), stream) != NULL)
        {
            printf("%s", buf);
        }
        pclose(stream);
    }

    return 0;
}

该代码中使用了popen函数打开了一个CMD的输出流,并在C程序中循环读取输出结果。在C程序中使用输出流获取CMD的输出结果可以实现更加灵活的操作。

三、使用CMD执行其他操作

CMD可以执行很多不同的操作,例如查看目录、删除文件、复制文件等,下面分别介绍一下如何使用system函数调用CMD执行这些操作。

1. 查看目录

查看目录命令是dir。例如,如果要查看C盘根目录下的所有文件和文件夹,可以写成:

system("cmd /c dir C:\\");

其中C:\\表示C盘的根目录。

2. 删除文件

删除文件命令是del。例如,如果要删除C盘根目录下的test.txt文件,可以写成:

system("cmd /c del C:\\test.txt");

其中C:\\test.txt表示需要删除的文件路径。

3. 复制文件

复制文件命令是copy。例如,如果要将C盘根目录下的test.txt文件复制到D盘根目录下,可以写成:

system("cmd /c copy C:\\test.txt D:\\");

其中C:\\test.txt表示需要复制的文件路径,D:\\表示复制到的目录。

四、总结

使用C调用CMD并执行命令非常方便。可以使用system函数调用CMD执行命令,也可以使用C程序的输出流获取CMD的输出结果。CMD可以执行很多常用的操作,例如查看目录、删除文件、复制文件等,可以根据不同的需求来使用不同的命令。