Передача аргумента командной строки переменной длины в двоичный файл с помощью execv() [дубликат]Linux

Ответить Пред. темаСлед. тема
Anonymous
 Передача аргумента командной строки переменной длины в двоичный файл с помощью execv() [дубликат]

Сообщение Anonymous »

Я создаю двоичный файл приложения, который будет принимать данные из командной строки.
файл 1:

Код: Выделить всё

int main(int argc, char *argv[])
{
char *argv2[] = {"hello", "hello1", "hello2",...., NULL};
char *envp[] = {NULL};
execve("/usr/bin/hello", argv2, envp);

return 0;
}
файл 2

Код: Выделить всё

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");
}
Хотя main в файле 2 работает под Linux с правами root, и я не хочу, чтобы пользователь уходил, а main() в файле 1 выполняется в пространстве пользователя, где они могут передавать определенные входные данные для main в файле 2. На основе входных данных main в файле 2 будет выполнять различные функции. Функция main() в файле 1 принимает входные данные из командной строки.
Я пробовал несколько способов с помощью execl(), изменяя проверки условий, но это помогло не работает.
Я, должно быть, что-то упускаю и не могу понять.

Подробнее здесь: https://stackoverflow.com/questions/791 ... sing-execv
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Тихая печать, отличающаяся от командной строки Shell_exec и ручной командной строки
    Anonymous » » в форуме Php
    0 Ответы
    90 Просмотры
    Последнее сообщение Anonymous
  • Нажмите на тестовый пример командной строки для приглашения ввода из функции командной строки
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Когда память интеллектуальных указателей очищается при вызове execv() в программе?
    Anonymous » » в форуме C++
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Execv() и константность
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Execv() и константность
    Anonymous » » в форуме C++
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Linux»