Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 23

Вызов из программы, написанной на С файла со сценарием

14.05.2017, 20:29. Показов 1532. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача стоит следующая у меня имеется уже отлаженный сценарий сохраненный в текстовом
файле с именем MM

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
 
echo "Меню"
echo "1-разрешить отправку писем"
echo "2-запретить отправку писем"
echo "3-отправить сообщение пользователю"
 
read Keypress
 
case "$Keypress" in
[1] ) echo `mesg y` "Отправка писем возможна";;
[2] ) echo `mesg n` "Отправка писем теперь невозможна";;
[3] ) echo "Введите сообщение для пользователя"`write m1`;;
*) echo "Проверьте ввод и повторите снова";;
esac
Мне нужно при помощи компилятора gcc отладить программу которая выводит перед пользователем меню
1. Выполнить введенную команду
// здесь подразумевается что выполняетсяконсольная команда, введенная пользователем с клавиатуры например ps, meag y и т.д.
2. Запустить файл со сценарием
3. Выход

собственно я не могу реализовать пункты 1 и 2 написал только внешнюю оболочку так сказать...

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
 
int main(void)
{
int a;
printf("Выберите ваше действие:\n");
printf("1. Выполнить введенную команду\n");
printf("2. Запустить на исполнение файл со сценарием\n");
printf("4. Выход\n");
scanf("%i",&a);
switch (a)
{
case 1:
printf("Какую команду отправить на исполнение?\n");
break;
 
case 2:
 
printf("Сценарий отправлен на исполнение\n");
break;
 
case 3:
printf("Выхожу из программы\n");
break;
}
 
return 0;
}
помогите с реализацией данной задачи
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2017, 20:29
Ответы с готовыми решениями:

Вызов программой, написанной на С++, функции из dll, написанной на Assembler (явное подключение dll)
Доброго времени суток!Задали лабораторную работу: программа, написанная на с++ должна подключать dll, написанную на Assembler и вызывать...

Редактирование exe-файла программы, написанной на delphi
Есть бот под один ресурс, на ресурсе сменилось доменное имя и бот теперь не пашет. Бот состоит из одного exe на Borland Delphi 3.0(в...

вызов dll написанной на с++
Всем доброго дня!!! Ребята помогите пожалуйста не могу получить результат в Delphi из вызываемой dll написанной на с++/ помогите...

4
191 / 151 / 61
Регистрация: 08.04.2010
Сообщений: 1,032
14.05.2017, 21:37
Лучший ответ Сообщение было отмечено Mannaroh как решение

Решение

Используй одну из функций execl, execle, execlp, execv, execve, execvp, execvpe, например
C
1
2
3
4
#include <process.h>
....
execl("MM", "MM", NULL);
....
1
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 23
16.05.2017, 14:33  [ТС]
добавил эту функцию в программу, получилось

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#include <process.h>
 
int main(void)
{
int a;
printf("Выберите ваше действие:\n");
printf("1. Выполнить введенную команду\n");
printf("2. Запустить на исполнение файл со сценарием\n");
printf("3. Выполнить действие, указанное в варианте\n");
printf("4. Выход\n");
scanf("%i",&a);
switch (a)
{
case 1:
printf("Какую команду вы желаете отправить на исполнение?\n");
break;
 
case 2:
 
printf("Сценарий отправлен на исполнение\n");
execl("mm", "mm", NULL);;
break;
 
case 3:
 
printf("Разбираемся с вашим вариантом задания\n");
break;
 
case 4:
printf("Выхожу из программы\n");
break;
}
 
return 0;
}
но при компиляции gcc мне пишет

h.c:2:21: fatal error: process.h: Нет такого файла или каталога
compilation terminated.

он не может найти файл со сценарием? или он не найдет библиотеку <process.h>???
0
191 / 151 / 61
Регистрация: 08.04.2010
Сообщений: 1,032
17.05.2017, 23:13
Лучший ответ Сообщение было отмечено Mannaroh как решение

Решение

Вместо process.h
C
1
#include <unistd.h>
1
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 23
18.05.2017, 15:14  [ТС]
Заработало, огромное спасибо за помощь!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.05.2017, 15:14
Помогаю со студенческими работами здесь

Вызов функции написанной на ассемблере
Вопрос заключается в следующем, когда я пытаюсь запустить программу, компелятор выдает:&quot;Ошибка сегментации&quot;, и я никак не могу...

Вызов функции из dll написанной на C
Привет всем! Возникла такая задача, решить не могу ни как. Есть dll. В ней есть функция (вроде написанная на С): int...

Вызов функций из DLL, написанной на CBuilder.
Всем привет! Есть немаленький софт, написанный на CBuilder. Нужно подгрузить в программе на C# готовые бибилиотеки. Нашел, что с...

Вызов функции из DLL, написанной на Delphi
Здрасте, У меня тут такая ситуация: Рыскал как то я, по просторам интернета, решение 1 проблемы, а именно: рисование своего GUI поверх...

Вызов функции из dll написанной на delphi из python
Импортировал ctypes, подключился к dll. Есть например такая функция: function GetStatusCardReader(var StatusCardReader: Word):...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru