|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.09.2012, 18:21 | #1 |
Форумчанин
Регистрация: 24.03.2011
Сообщений: 120
|
Run-time error или мне нужно кому нить поплакаться в тельняшку
Описываю ситуацию, после которой будет вопрос:
Есть некая система Ejudge, которой пользуется Яндекс для проверки тестовых заданий, которые ему шлют соискатели его милости. Т.е. отсылается cpp файл консольного приложения, компилируется в системе, получает вводные данные и выдаёт результат. На моей машине такой файлик работает прекрасно, компилится, запускается, считает, отвечает... Загружаю в систему(выбрав g++ GNU C++ 4.3.2) - там пишется run-time error, с пометкой Signal 11 (SIGSEGV)... Т.е. какие то траблы с памятью... может кто сталкивался или имеет предположения в чём косяк? В проге идёт работа со строками... т.е. очень много массивов char, которые режут и переклеивают... командами strcat и еже с ними... строки принимаются командами get(), другие данные командами cin... Ощущение, что проблема именно с cin... Сначала прога принимает две строки, затем число... я понавставлял cout после каждой строчки - две введённые строки принимаются нормально, а вот после ввода числа похоже всё рушиться... Код весь приводить не буду(там много букф)... вопрос, собственно, вот потому что я написал есть возможность прикинуть в чём ошибка? Или что ещё можно сделать, чтобы разобраться.... Пока пойду биться лбом об стенку дальше... |
03.09.2012, 18:38 | #2 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
очень много массивов char, которые режут и переклеивают... командами strcat и еже с ними... строки принимаются командами get()
дальше можно не продолжать. что-то где-то не довыделено, забыт завершающеий ноль, возможное переполнение... короче, кривая работа со строками и динамической памятью. Решение: выкинуть этот ужоснах, переписать на C++
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
04.09.2012, 03:35 | #3 |
Форумчанин
Регистрация: 24.03.2011
Сообщений: 120
|
Печаль.
А тогда вопрос в догонку для облегчения существования: какими инструментами удобнее всего резать строки, принимать, парсить, сшивать и тп в С++? В остальном спасибо!)) Пойду всё переделывать(((( |
04.09.2012, 08:03 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Вы бы код привели, тут бы посмотрели и направили... а так разговор о сферическом коде в вакуууууме.
|
04.09.2012, 10:37 | #5 |
Форумчанин
Регистрация: 24.03.2011
Сообщений: 120
|
Да я боюсь мне по шее дадут, если я приведу решения(а у меня по сути решение, если не учитывать что оно страшное и не без пороков) одной из задач в сети.)) Да и там cpp файл на 30 Кб... так что всё моё.... кто если не я. "...Другой совершит ошибку."))
|
04.09.2012, 12:54 | #6 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Ksardas13
А тогда вопрос в догонку для облегчения существования: какими инструментами удобнее всего резать строки, принимать, парсить, сшивать и тп в С++? Большая часть искомого предоставляется классом std::string - см. функции find_*, substr, erase/replace и пр. сшивать - элементарно, в естесственном виде: std::string A = "foo", B = "bar"; A += B;
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Run-time error 1004 (VBA) | Aleksy89 | Microsoft Office Excel | 6 | 09.08.2012 13:25 |
Run-time error '5692' | caute | Microsoft Office Word | 11 | 09.10.2011 20:45 |
Периодическая ошибка Run-time error -2147417848 (80010108) Automation error в файле с макросом | faraviper | Microsoft Office Excel | 0 | 24.02.2011 16:23 |
Run-time error 13 | olimpus | Microsoft Office Excel | 11 | 25.12.2010 22:49 |
Ошибка Run-Time error 13 | DEZuv | Microsoft Office Access | 0 | 03.04.2009 12:25 |