файл 1:
Код: Выделить всё
int main(int argc, char *argv[])
{
char *argv2[] = {"hello", "hello1", "hello2",...., NULL};
char *envp[] = {NULL};
execve("/usr/bin/hello", argv2, envp);
return 0;
}
Код: Выделить всё
void hello_back()
{
printf("hello back\n");
}
void no_hello()
{
printf("no hello\n");
}
void Just_hello()
{
printf("just saying hello\n");
}
void main(int argc, char *argv[])
{
if(argc ==1)
Just_hello();
else if (strcmp(argv[1],"hello")==0)
hello_back();
else if(strcmp(argv[1],"hello1")==0)
no_hello();
else
printf("No hello has received\n");
}
Я пробовал несколько способов с помощью execl(), изменяя проверки условий, но это помогло не работает.
Я, должно быть, что-то упускаю и не могу понять.
Подробнее здесь: https://stackoverflow.com/questions/791 ... sing-execv