Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
#1

execlp error - C++

11.01.2014, 17:38. Просмотров 481. Ответов 11
Метки нет (Все метки)

Вот код который работает, но не видит параметры (p2[0]):
C++
1
2
3
4
5
if((execlp(p1[0], p2[0], NULL)) < 0)
                {
                             perror("exec");
                             exit(EXIT_FAILURE);
                    }
Вот что выводит:
leha
proc_name.txt
proc_name.txt~
yyy.cpp
yyy.cpp~
zadanie.cpp
zadanie.cpp~

а вот который видит параметр (-l или -la) и выдаёт ошибку:
C++
1
2
3
4
5
if((execlp(p1[0], p2[0], " " ,NULL)) < 0)
                {
                             perror("exec");
                             exit(EXIT_FAILURE);
                    }
ошибка вот такая:
-l : невозможно получить доступ к : Нет такого файла или каталога
Почему так происходит?
ведь прототип функции:
int execlp(const char *file, const char *arg, ...);
p1[0] это переменная указатель(содржит адрес начала строки названия процесса)
p2[0] -||- только параметра процесса
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 17:38     execlp error
Посмотрите здесь:

Execlp завершает основную программу - C++
собственно сабж. как сие обойти?

Error C2059: syntax error : ']' - C++
Добрый день. Помогите пожалуйста разобраться с проблемой. Пишу программу, решающую систему линейных уравнений методом Крамера. Затруднение...

Error C2062 и error C2065 - C++
Добрый день, написал программу, но она показывает ошибку. П.С. Я полный чайник=),прошу помощь у знающих. Вот код: #include...

[Error] 'error' was not declared in this scope - C++
Вот кусок кода void Token_stream::putback(Token t) { if (full) error(&quot;putback() into a full buffer&quot;); buffer = t; //...

error C4430, error C2143 - C++
error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию error C2143:...

Error LNK1120, Error LNK2019 - C++
Здравствуйте . У меня проблема с кодом . #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
11.01.2014, 17:42     execlp error #2
Чтобы быстрее помогли, приведите Short, Self Contained, Correct (Compilable), Example (http://sscce.org/)
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
11.01.2014, 17:48  [ТС]     execlp error #3
0x10, спасибо, больше резать и укорачивать здесь нечего
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
11.01.2014, 17:52     execlp error #4
Не просто короткий, а самодостаточный и компилируемый (скопировал - скомпилировал - проверил).
Криминала в этих фрагментах не вижу, надо смотреть фактические значения аргументов exec.

Добавлено через 1 минуту
Мб там какой-нибудь шальной перевод строки или еще что-то лишнее.
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
11.01.2014, 18:13  [ТС]     execlp error #5
0x10 ,
вот так работает, методом тыка
C++
1
2
3
4
5
 if((execlp(p1[0], "-", p2[0], NULL)) < 0)
                {
                             perror("exec");
                             exit(EXIT_FAILURE);
                    }
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
11.01.2014, 18:15     execlp error #6
Посмотри в отладчике значения p1[0], p2[0]. Я ж не телепат.
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
11.01.2014, 18:21  [ТС]     execlp error #7
Цитата Сообщение от 0x10 Посмотреть сообщение
Посмотри в отладчике значения p1[0], p2[0]. Я ж не телепат.
я на сях отладчиком не пользуюсь да и не умею, тем более под Linux, ели как с TD то маленько разобрался
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
11.01.2014, 18:28     execlp error #8
У меня воспроизводится если аргументы exec содержат лишний '\n'. Смотрите в эту сторону, максимум, что я могу оттелепатить.
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
11.01.2014, 18:29  [ТС]     execlp error #9
Цитата Сообщение от 0x10 Посмотреть сообщение
У меня воспроизводится если аргументы exec содержат лишний '\n'. Смотрите в эту сторону, максимум, что я могу оттелепатить.
я уже выше готовый пример кинул, может кому понадобится
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
11.01.2014, 18:30     execlp error #10
Ну это не решение, а просто костыль.
Ф-я exec работает, надо просто правильно ее использовать.
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
11.01.2014, 19:09  [ТС]     execlp error #11
Цитата Сообщение от 0x10 Посмотреть сообщение
Ну это не решение, а просто костыль.
Ф-я exec работает, надо просто правильно ее использовать.
дак, я же разобрался с ошибкой, почему костыль? просто надо было вторым параметром ключ передать, что собственно и было сделано=)) ну это для терминальных команд, для вызова собственных процессов, надо уже смотреть, нужен ли там ключ или нет, если не нужен то просто символ пробела надо ставить
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2014, 19:30     execlp error
Еще ссылки по теме:

Error C2589 и error C2059 - C++
Не могу никак исправить ошибку в последней сточке #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;random&gt;...

Error C4430, error C2065 - C++
main.cpp #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;diophantine.h&quot; using namespace std; void main() { ...

Error X3003: redefinition error - C++
Здравствуйте! Доброго времени суток всем! Помогите пожалуйста решить проблему. Работаю в Visual Studio 2015 Community. Проект собирается...

Не могу исправить php код preg_replace() , Parse error: syntax error, unexpected ';' - PHP
Здравствуйте, Никак не могу разобраться как исправить ошибку. Код выполняет одномерную оптимизацию. при задании входных параметров ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
11.01.2014, 19:30     execlp error #12
Что ж я туплю по полной... Короче, до этого ничего не было.
Вызов должен выглядеть так:
C
1
execlp("ls", "ls", "-l", NULL);
Добавлено через 4 минуты
А вообще для случая, когда команды читаются из файла, наверное, удобнее будет использовать execvp, поскольку принимает массив.
Yandex
Объявления
11.01.2014, 19:30     execlp error
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru