gpt4 book ai didi

c - 错误地址 C(命令行解释器)

转载 作者:太空宇宙 更新时间:2023-11-04 03:43:03 26 4
gpt4 key购买 nike

这是我的代码:

/* myshell program */

#include<stdio.h>
#include <string.h>

#define MAX_LENGTH 40
#define TRUE 1

char cmd[MAX_LENGTH];
char args[MAX_LENGTH];

void prompt() {
printf("%s", "Shell: ");
scanf("%s", cmd);

char *line = NULL;
size_t linecap = 0;
ssize_t linelen;

if ((linelen = getline(&line, &linecap, stdin)) > 0) {
strcpy(args, line);
}
}


int main(char *envp[]) {
while (TRUE) {
prompt();
if (fork() == 0) {
execve(cmd, args, envp);
perror("execv");
}
}
}

每当我输入(例如)/bin/ls 时,我都会收到一条错误消息,指出“地址错误”。我检查了 cmd 和 args 并确保它们收到正确的值。

最佳答案

检查以下链接: Arguments to main in C

main() 的参数是 int argc 和 char *argv[]

int main(int argc,char *argv[])

关于c - 错误地址 C(命令行解释器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26976360/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com