popen用法
函数名中的 popen 是一个标准 C 库函数,用于创建一个管道并启动另一个进程来执行一个 shell 命令。popen 返回一个文件指针,可以用于读取或写入子进程的标准输入或输出流。
#include <stdio.h>
FILE *popen(const char *command, const char *mode);
int pclose(FILE *stream);
- 
command:要执行的 shell 命令,可以是任何有效的 shell 命令,例如"ls -l"。
- 
mode:模式,可以是"r"(读取子进程的标准输出)或"w"(向子进程的标准输入写入数据)。
- 
返回值:如果成功,则返回一个指向文件的指针,否则返回 NULL。
- 
pclose:用于关闭通过popen打开的流,并等待子进程结束。
示例用法:
下面是一个简单的示例,演示如何使用 popen 来执行 shell 命令并读取其输出:
#include <stdio.h>
int main() {
    FILE *fp;
    char buffer[1024];
    // 执行 ls 命令并读取输出
    fp = popen("ls", "r");
    if (fp == NULL) {
        printf("Failed to run command\n");
        return 1;
    }
    printf("Output of ls command:\n");
    // 读取输出并打印到控制台
    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
        printf("%s", buffer);
    }
    pclose(fp);
    return 0;
}
在这个示例中,popen 用于执行 ls 命令,并通过读取输出将结果打印到控制台。最后,通过调用 pclose 来关闭文件指针并等待命令执行完毕。

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号