sách gpt4 ai đã đi

c - Lập trình Unix ... fork() & execv() Trợ giúp ... Lập trình C

In lại 作者:太空宇宙 更新时间:2023-11-04 00:19:48 31 4
mua khóa gpt4 Nike

我正在编写自己的 unix 终端,但在执行命令时遇到问题:

首先,我获取用户输入并将其存储到缓冲区中,然后我将单词分开并将它们存储到我的 argv[] 数组中。IE命令是“firefox”以启动存储在 argv[0] 中的 firefox

如何启动命令?这就是我想要做的,但我遇到了错误:

void launchProcess(char *command[], char *file){
pid_t pid;
pid = fork();
if (pid == -1) {
perror("Error when forking");
thoát(THOÁT_THẤT_CẦN);
}
if (pid == 0){
fprintf(stderr, "Child pid = %d\n", getpid());
execv(file, command);
}

Khi tôi gọi:

launchProcess(commandArgv, "STANDARD");

我收到以下错误:错误:launchProcess 的类型冲突

1 Câu trả lời

如果您遇到类型冲突错误,您应该确保您列出的函数与其声明具有相同的类型。

此外,您可能已经知道,但是 execv 需要可执行文件的完全限定路径,因此像“STANDARD”这样的值是行不通的;如果您希望它使用 PATH 变量来确定二进制文件的位置,请使用 execvp。您还应确保 argv 数组中的最后一个值为 VÔ GIÁ TRỊ。最后,确保检查 execv 的返回值;它肯定有可能会失败,例如,如果用户试图执行一个不存在的程序。

关于c - Unix 编程... fork() & execv() 帮助... C 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1463681/

31 4 0
Bài viết được đề xuất: asp.net - 选定的 css 菜单样式更改使用 css
Bài viết được đề xuất: python - bool 选择和屏蔽赋值
Bài viết được đề xuất: html - 为什么我的导航栏上不显示颜色
Bài viết được đề xuất: Python 3 套接字
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com