Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 06.07.2009, 11:28   #11
MaTBeu
Eclipse Foundation
Профессионал
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Адрес: Стокгольм
Сообщений: 2,623
Репутация: 1148
По умолчанию

Приведите весь код пожалуйста.
MaTBeu вне форума   Ответить с цитированием
Старый 06.07.2009, 14:56   #12
Артэс
Участник клуба
 
Регистрация: 05.06.2007
Сообщений: 524
Репутация: 21
По умолчанию

Так и думал что дело было в extern char a[1000];

сделав так, я решил проблему:
Код:
extern char *a;

Последний раз редактировалось Артэс; 06.07.2009 в 14:59.
Артэс вне форума   Ответить с цитированием
Старый 07.07.2009, 18:42   #13
volok-aleksej
 
Регистрация: 19.05.2009
Сообщений: 4
Репутация: 10
По умолчанию

Для будущего есть одна тонкость. у тебя может упасть и в другом месте, причем совсем не понятно почему. Причем в debug версии все нормально будет работать, а релиз падать. в твоем коде это я не обнаружил.
Цитата:
memset(a,0,sizeof(a)); // отщищаю для последующего приема данных
recv(connection,a,1000,0); // пытаюсь поместить данные и тут-то краш
правильней будет делать так.

memset(a,0,sizeof(сhar)*1000);
recv(connection,a,999,0);

причина проста до боли ты уже как то писал,
Цитата:
на экране отображается буква "х" и смайлик, а позже равно... что за прикол? буд-то массив не пустой создался
Так вот в debug версии на самом деле создаеться массив и автоматом обнуляеться. но вот в релиз версии это не происходит. а следовательно массив создаеться в какой- то областе где уже раньше было что записано, т.е массив непустой, а как известно решение об окончании строки выводиться на основании последнего символа 0(это int). так вот ноль этот может быть и за пределами выделенного тобой массива памяти и функция которая не принимает размер массива будет его искать и выйдет за его приделы - что произойдет? - Программа упадет, "непонятно почему"
volok-aleksej вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имя переменной как переменная. Как получить доступ к такой переменной? Denni Microsoft Office Access 8 02.04.2009 10:06
Очистка MEMO SG13 Общие вопросы Delphi 5 23.07.2008 21:56
Очистка TImage TaTT DoGG Компоненты Delphi 2 14.05.2008 20:57
Очистка памяти в C# darkstarx Общие вопросы .NET 1 14.04.2008 14:48
Работа с файлами (создание, удаление, открытие, связываение с переменной, очищение памяти переменной) Arkuz Общие вопросы Delphi 12 25.09.2007 20:47


16:37.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.