溫馨提示×

c++ exec如何執行外部命令

c++
小樊
102
2024-12-01 16:36:14
欄目: 編程語言

在C++中,你可以使用exec函數族來執行外部命令

#include <iostream>
#include <cstdlib>

int main() {
    // 要執行的外部命令,例如:ls
    const char* command = "ls";

    // 使用execvp函數執行外部命令
    char* argv[] = {nullptr}; // 注意:argv數組的第一個元素必須是空指針
    int result = execvp(command, argv);

    if (result == -1) {
        std::cerr << "執行外部命令時出錯: " << std::strerror(errno) << std::endl;
        return 1;
    }

    // 如果execvp成功執行,這里不會被執行
    std::cout << "外部命令執行成功" << std::endl;

    return 0;
}

在這個示例中,我們使用execvp函數執行了ls命令。argv數組包含一個空指針,因為execvp只需要命令名稱。如果命令執行成功,程序將不會返回到這里。如果執行失敗,程序將打印錯誤信息并返回1。

注意:exec函數族會替換當前進程的映像和內存,因此在調用exec之后的代碼將不會被執行。如果你需要在子進程中執行命令并獲取其輸出,可以考慮使用popenpclose函數。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女