Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2011, 00:02   #1
N-Cat
Пользователь
 
Регистрация: 23.02.2011
Сообщений: 21
По умолчанию Ошибка при передаче по ссылке

Доброго времени суток!

Есть функция, которая создает сокет, соединение, получает в ответ строку, которую и должна вернуть (функция) по завершении.
string GetAddress()
{
...
string IPaddr;
recv(my_sock, (char*)&IPaddr, sizeof(IPaddr), 0);
closesocket(my_sock);
WSACleanup() ;

return IPaddr;
}

Однако на ретурне компилятор выдает Необработанное исключение в (msvcp100d.dll) и пишет нарушение прав доступа при чтении.
Не пойму в чем ошибка. Подразумеваю, что неправильно работаю с памятью..
N-Cat вне форума Ответить с цитированием
Старый 01.05.2011, 02:45   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
(char*)&IPaddr
Вы уверены, что стринг = массив символов?
p51x вне форума Ответить с цитированием
Старый 02.05.2011, 17:30   #3
N-Cat
Пользователь
 
Регистрация: 23.02.2011
Сообщений: 21
По умолчанию

Функция возвращает по завершении айпи и порт в формате "IP : port". Пробовала определить переменную IPaddr как char но приходит не то что нужно. А если определяю стрингом то приходит в верном формате
N-Cat вне форума Ответить с цитированием
Старый 02.05.2011, 23:21   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

N-Cat

Подразумеваю, что неправильно работаю с памятью..

совершенно верно подозреваете.

правильный вариант:

std::vector<char> IPaddr(100);
recv(my_sock, &IPaddr[0], IPaddr.size(), 0);
...
return &IPaddr[0];
Rififi вне форума Ответить с цитированием
Старый 10.05.2011, 01:24   #5
N-Cat
Пользователь
 
Регистрация: 23.02.2011
Сообщений: 21
По умолчанию

Спасибо, Вы очень помогли!)
N-Cat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в передаче данных Krasi PHP 3 01.05.2011 17:15
C++ структуа, ошибка в передаче параметров функциям HenryL Общие вопросы C/C++ 5 29.11.2010 16:15
Ошибка при передаче массива в DLL и считывание результатов. Kolan Общие вопросы Delphi 3 21.11.2010 18:04
Ошибка пр передаче данных из Access в Excel pla Microsoft Office Access 4 17.11.2010 10:31
ошибка при передаче ссылки на массив в визуал 2008 LOST94 Общие вопросы C/C++ 7 29.06.2010 22:23