|
123
36 / 0 / 1
Регистрация: 18.03.2015
Сообщений: 221
|
||||||
Error: 'system' was not declared in this scope24.09.2019, 11:47. Показов 11474. Ответов 68
Метки нет (Все метки)
Как я понял параметры argv[] это консольные команды которые добавляются к имени файла в командой строке.
Можно ли способом описаным у меня ниже назначить команде определенные действия при вызове программы с этой командой?
Мне нужно чтобы программа не выключалась после работы. В делфи для этого использовал read;. А как без system(pause) или каким-то другим способом оставить программу после выполнения? Если че язык С++ не знаю вобще, только изучаю и многое непонятно -_-. Добавлено через 6 минут Проблема с pause решена. Натупил по невнимательности. Там ниже кода вообще бред написан. Добавлено через 1 минуту А нет всетаки пишет: error: 'system' was not declared in this scope
0
|
||||||
| 24.09.2019, 11:47 | |
|
Ответы с готовыми решениями:
68
Не компилируется приложение: 'system' was not declared in this scope
|
| 27.09.2019, 15:39 | |
|
Не по теме: Чем на больше страниц растянулась тема, тем меньше в этой теме смысла. DrOffset, луче бы мне в личку ответил (току больше бы было) на счет видосов по С++ я спрашивал.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 27.09.2019, 15:44 | |
|
del
0
|
|
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
| 27.09.2019, 15:49 | |
|
Если программе нужно знать, как ее вызвали, она проверяет arv[0].
Напр из хорошо известного: runq, rmail, sendmail, rsmtp - это символьные ссылки на exim4, если установлен этот почтовик. Очевично, они меняют логику работы программы.
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
||||||||
| 27.09.2019, 16:14 | ||||||||
|
Еще раз: я спорю не с конкретной цитатой. Однажды я даже извратнулся с именами: прописал в конец настройки программы, вместо конфига. То есть вызывал программу по ссылке ./prog_1000_1000_s_Добавлено через 12 минут
0
|
||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 27.09.2019, 16:16 | ||
|
А то так получается, что вы спорите совсем не с тем, что было сказано. Подсказка: имя исполняемого файла, и имя, по которому, файл был исполнен - это разные вещи.
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
||
| 27.09.2019, 18:27 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 27.09.2019, 20:20 | |||||||
|
а о том, что употребив слово "всегда", Бро поведал нам прохладную историю. такое впечатление, что ты читаешь текст, и видишь то, чего нет. что говорят или пишут. особенно это касается случаев, когда они заявляют о "стандартных проверках". а по факту, там проверять вообще нечего. а код возврата дочернего процесса где? "rm очень_важный_файл". и если у него действительно съедут аргументы, и если он мух не ловит, тогда он поимеет один аргумент очень_важный_файл в этом случае, grep будет думать, что это - образец, который нужно искать в тексте, который ему дадут на входе. то есть, grep будет думать, что запущен в режиме конвейера: ololo | grep очень_важный_файли зависнет в ожидании данных из канала ввода. что у тебя точно не получится, так это ничайно удалить нужный файл.
0
|
|||||||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||
| 27.09.2019, 20:25 | ||
|
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
|||||||||||
| 28.09.2019, 09:41 | |||||||||||
|
Есть утилита cat, которая берет файлы, переданные ей в аргументах, и выводит их содержимое. Естественно, свое содержимое она не выводит. Вы ей подсовываете аргументы не в argv[1]...argv[N], а в argv[0]...argv[N-1]. Каким образом программа должна узнать, что ее вызвал криворукий погромист, плюющий на стандарты? А главное - какое ей до этого дело? Она честно выведет содержимое всех файлов кроме первого. Это будет не то, чего ожидал погромист, но то, что он накодил. man system
0
|
|||||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 28.09.2019, 23:01 | |||||||
|
я подумал, что когда ты писал: на самом же деле, если я правильно тебя понял, ты имел ввиду запуск BusyBox. если так, и если BusyBox мух не ловит, я бы задумался: стоил и вообще с ним связываться. Добавлено через 9 минут как это коррелирует с твоим дурацким "то есть"? а во-вторых, у тебя какие то сложности проверить аргументы что ли?
0
|
|||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
|||||
| 29.09.2019, 00:33 | |||||
|
С какой целью? Если вызывающая сторона гарантирует правильный вызов.
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||
| 29.09.2019, 01:00 | ||||||||||
|
ты реально видишь то, чего нет. 1. в нулевом аргументе хранится путь к модулю, в остальных аргументах - собственно, аргументы команды. 2. путь к модулю не был передан. значит все аргументы - собственно, аргументы команды. итак, ты берешь нулевой аргумент. нормализуешь его. запрашивает через системное апи путь к собственному модулю. и сравниваешь. если равны - значит это первый кейс. если нет - второй кейс. дальше валидируешь собственно аргументы. а ты оказывается вообще ни бум-бум? если вкратце: проверка успешности выделения памяти имеет смысл только и только для случая, когда new не кидает исключения.
0
|
||||||||||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||
| 29.09.2019, 01:02 | ||
|
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
||||||||
| 29.09.2019, 08:28 | ||||||||
|
Или это вы упорно спорите не с тем, что было сказано, а со своими фантазиями. Так вот, new использует механизм исключений. Где в вашем коде обработка исключений? noexcept(a = new int[10000000]);
0
|
||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
|||||||||||||||||||||
| 30.09.2019, 14:49 | |||||||||||||||||||||
|
Тебя не устраивает что в argv[0] хранится не только имя файла, а еще и путь к нему? Тебя не устраивает редкое исключение, когда argc=0 и тогда argv[0]=NULL? Тебя не устраивает существование идиотов, подменяющих argv[0] на свой мусор? Тебя не устраивает что-то еще? Повторяю вопрос: ты даешь 100% гарантию что операция выделения памяти закончится успешно? Стандартное выделение памяти в Си:
Но код проверки argv[0] ты так и не привел. Получается, ты и сам не знаешь, как он должен выглядеть, раз не скопипастил откуда-нибудь и не написал с нуля. Так какой смысл позориться дальше и утверждать что это вот самая-самая важная проверка, без нее никуда.
0
|
|||||||||||||||||||||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||||||||||||
| 30.09.2019, 15:15 | |||||||||||||
noexcept, который только проверяет выражение no throw оно или нет.new который не бросает исключения выглядит так:
0
|
|||||||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
|||
| 30.09.2019, 18:10 | |||
|
Хорошо, ваш вариант более правильный, хотя работоспособны оба.
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 30.09.2019, 18:17 | |||
|
в которой ни бум бум. пьяный проспиццо, дурак - никогда (ц)Пётр 1. Добавлено через 3 минуты
1
|
|||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||||
| 30.09.2019, 18:22 | |||||
|
Поэтому если уж речь о С++, то давайте говорить в контексте С++, а не смешивать. Понятное дело, что в каком-то случае вам может быть нужна обратная совместимость с Си, но это уже другая тема, ИМХО. x = new type[size] nothrow или нет, а затем вызывает обычный new, со всеми вытекающими и исключения все еще надо будет ловить, если надо.
0
|
|||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
|||
| 01.10.2019, 09:54 | |||
|
С каких это пор соглашение о передаче аргументов в main стало С++ специфичным?! Код проверки argv[0] ты так и не привел, хотя утверждаешь что он стандартный.
0
|
|||
| 01.10.2019, 09:54 | |
|
[Error] 'm' was not declared in this scope [Error] 'k' was not declared in this scope [Error] 'If' was not declared in this scope Ошибка: [Error] 'x' was not declared in this scope
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|