|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.04.2022, 12:38 | #1 |
Регистрация: 11.04.2022
Сообщений: 4
|
Си, Переписать с одного файла в другой функцию main
Задание звучит так:
Задан файл с текстом C-программы. Выделить и переписать в новый файл из именем main-fun.c функцию main() из этого приложения. Подсказка: поиск конца функции целесообразно выполнить через проверку баланса фигурных скобок {}. Никак не пойму как реализовать, может кто-то обьяснить как я могу сделать или помочь немного. Заранее спасибо за каждый ответ! |
20.04.2022, 12:46 | #2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Ищите в тексте файла (после нахождения определения int main(int argc, char** argv)) все открывающиеся '{', '}', 'строки' и 'комментарии'. Если скобочка '{', '}' в комментарии или строке, то пропускаете. Иначе на каждую '{' увеличивайте счетчик, для каждой '}' уменьшаете и проверяете на 0. Примерно так.
|
20.04.2022, 12:47 | #3 |
Форумчанин
Регистрация: 02.06.2021
Сообщений: 515
|
открыть файл
найти строку main(), в начале которой ничего нет, перевод строки или пробел - ОТ с { начать считать баланс как только найдется нужная } - ДО скопировать ОТ и ДО |
27.04.2022, 08:39 | #4 |
Регистрация: 11.04.2022
Сообщений: 4
|
Переписать с одного файла в другой функцию main
Задание такое:
Задан файл с текстом C-программы. Выделить и переписать в новый файл из именем main-fun.c функцию main() из этого приложения. Я что-то немного сделала, но где-то напортачила , потому что выводится куча букв "М" и только это "const char* find1 = "int main()", * find2 = "int main(int argc, char**) argv))"; " Буду очень рада помощи, заранее спасибо за каждый ответ) Код:
Возможно где-то и не досмотрела, но никак не пойму( |
27.04.2022, 13:31 | #5 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Код:
Код:
Код:
Еще отличительные особенности main. * int main находится сразу после начала новой строки (перед ними разве что могут быть символы пробелов или табуляции). * С круглыми скобочками можно поступить так же как с фигурными, чтобы не искать различный набор аргументов. * Фигурные скобочки могут быть внутри комментария или строки, тогда их учитывать не надо. Из-за этого баланс скобок может не сходиться. Код:
Последний раз редактировалось macomics; 27.04.2022 в 13:38. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
переписать программу из одного языка в другой | Arishari | Помощь студентам | 22 | 13.06.2015 11:54 |
Переписать числа из одного файла в другой, чередуя отрицательные и положительные (Паскаль) | Dekker11 | Помощь студентам | 7 | 17.12.2014 14:45 |
переписать из одного массива в другой devс++ | cas2010 | Помощь студентам | 0 | 21.10.2012 12:11 |
Переписать елементы из одного массива в другой | allegri | Помощь студентам | 3 | 03.01.2011 18:57 |