Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Stans
78 / 54 / 3
Регистрация: 05.12.2009
Сообщений: 435
#1

Преобразование класса в строку и обратно - C++

07.05.2013, 00:16. Просмотров 764. Ответов 3
Метки нет (Все метки)

Всем доброго времени суток. Пишу курсач на плюсах (простенький чат). Обязательным условием является использование классов(плюсы все таки). Я задумал сделать класс в котором будут содержаться ник юзера(char*), его сообщение(char*) и его ip-адрес(char*). Но дело в том, что предавать через сокеты объекты нельзя, только строки. Возник вопрос, как можно преобразовать объект в строку? Слышал, что на java есть специальный метод для этих целей. Хотелось бы узнать есть ли он в С++? Или хотя бы алгоритм преобразования объекта в строку и обратно.
ЗЫ: Если подскажете, для каких еще целей можно использовать классы, буду очень благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2013, 00:16     Преобразование класса в строку и обратно
Посмотрите здесь:

C++ Преобразование даты в строку и обратно
C++ Преобразование CString->float и обратно
C++ Ошибка компиляции (преобразование объекта класса в объект другого класса)
Преобразование типов wchar_t в char и обратно C++
C++ Преобразование bitmap в YCbCr и обратно
C++ Преобразование TCHAR в double и обратно
Продемонстровать неявное преобразование типов: из целого в вещественный и обратно C++
C++ Преобразование int char и обратно
C++ Double / float в строку и обратно
Определить обработчик исключений на преобразование указателя базового класса на указатель производного класса C++
Преобразование текстовых файлов из кодировки DOS в кодировку Windows и обратно C++
C++ преобразование пользовательского типа в стандартный и обратно, перегрузка оперторов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2452 / 1624 / 238
Регистрация: 24.11.2012
Сообщений: 3,999
07.05.2013, 05:09     Преобразование класса в строку и обратно #2
Во-первых,
Цитата Сообщение от Stans Посмотреть сообщение
ник юзера(char*), его сообщение(char*) и его ip-адрес(char*)
char* -> std::string, потому что
Цитата Сообщение от Stans Посмотреть сообщение
плюсы все таки
Во вторых, открываем man send и видим:
C++
1
ssize_t send(int s, const void *msg, size_t len, int flags);
void* - казалось бы, с чего вдруг
Цитата Сообщение от Stans Посмотреть сообщение
только строки
Ок, пусть у нас будет текстовый протокол. Никакой магии тут нет - берем нужные поля из объектов и складываем в строки. В помощь std::stringstream. В каком виде сериализовать данные - дело десятое. Можно взять библиотечку для работы с json, сначала формировать json документ, а потом уже преобразовывать его строку. На приемной стороне, соответственно, парсить его. Можно для автоматизации использовать какой-нибудь boost::serialization.

Цитата Сообщение от Stans Посмотреть сообщение
для каких еще целей можно использовать классы
Да на каждый чих. Что видим когда смотрим в чат? Пользоваталей. Сообщения. Какой-то интерфейс (окна, кнопки, поля). Заглядываем под капот, что там? Сокеты. Функции для работы с ними, которые могут возвращать коды ошибок (можем написать исключений поверх).
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.05.2013, 05:38     Преобразование класса в строку и обратно #3
Цитата Сообщение от Stans Посмотреть сообщение
Возник вопрос, как можно преобразовать объект в строку?
А смысл? Если нужно передать поле класса (string) через сокет, то берёте поле класса и передаёте.
Stans
78 / 54 / 3
Регистрация: 05.12.2009
Сообщений: 435
07.05.2013, 19:10  [ТС]     Преобразование класса в строку и обратно #4
Цитата Сообщение от 0x10 Посмотреть сообщение
Во вторых, открываем man send и видим:
ssize_t send(int s, const void *msg, size_t len, int flags);
Насколько я понимаю, это метод под Linux. А я пишу из-под Windows на Microsoft Visual Studio. В ней вроде как такого метода нету.
Yandex
Объявления
07.05.2013, 19:10     Преобразование класса в строку и обратно
Ответ Создать тему
Опции темы

Текущее время: 19:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru