|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.03.2011, 20:14 | #1 |
Форумчанин
Регистрация: 17.12.2009
Сообщений: 101
|
Ошибка сегментирования при вызове strcat
На линуксе этот код работает безотказно, здесь же, на winXP c Visual C++ 6.0 неведомо почему происходит ошибка сегментирования, когда я вызоваю strcat.
Код:
Я использую массив вместо указателя, потому что это всё ещё надо в файл сохранить. Да и с массивами на лине работало. В чём дело? |
05.03.2011, 20:28 | #2 |
Пользователь
Регистрация: 02.02.2011
Сообщений: 92
|
Если длина filename + extension >= 20 выйдешь за пределы буфера. Надо проверять длины, а лучше использовать std:string
|
05.03.2011, 20:34 | #3 | |
Форумчанин
Регистрация: 17.12.2009
Сообщений: 101
|
Цитата:
Расширение ".map" - 4 символа, плюс нуль-символ, получается 5. А на всё-провсё у нас 20 символов. Как минимум половина буфера свободна. Я хотел бы, но даже С++-ые файловые функции требуют тип char* для имени файла. Ну и массивы char тоже сойдут. Но не string, увы. |
|
05.03.2011, 20:42 | #4 | ||
Пользователь
Регистрация: 02.02.2011
Сообщений: 92
|
Цитата:
Цитата:
Код:
|
||
05.03.2011, 20:49 | #5 |
Форумчанин
Регистрация: 17.12.2009
Сообщений: 101
|
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при вызове openFileDialog | ---FISHER--- | C# (си шарп) | 7 | 02.03.2011 13:25 |
beginthread, ошибка при вызове | Dreanks | Помощь студентам | 2 | 28.10.2010 14:09 |
Ошибка компиляции при вызове подпрограммы | Android_ua | Общие вопросы C/C++ | 4 | 02.03.2010 12:20 |