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

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

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

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

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

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

Преобразование даты в строку и обратно - C++
написал два метода для класса, первый преобразует дату в строку, а второй наоборот.. проблема со вторым методом.. подсобите если не трудно....

Преобразование int char и обратно - C++
надо разложить число на два байта... unsigned char ghj; int fff = 11111; ghj = fff / 256; ghj = fff - (ghj * 256); //обратно ...

Преобразование TCHAR в double и обратно - C++
Всем привет! Есть TCHAR массив, допустим со значением "12.5", как его можно преобразовать в double? Пробовал так: TCHAR str; char...

Преобразование bitmap в YCbCr и обратно - C++
Доброго времени суток. Нужно преобразовать изображение из формата RGB в YCbCr и обратно. В принципе все работает, но после преобразования...

Преобразование CString->float и обратно - C++
Здравствуйте. Можно ли строку типа CString преобразовать в число типа float (или double) (я уверен, что в строка будет вида 123.123)и...

Преобразование типов wchar_t в char и обратно - C++
Добрый вечер уважаемые форумчане! Как можно перевести из wchar_t в char и обратно. Если можно с примерами. За ранее спасибо!! ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
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
5417 / 4813 / 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. В ней вроде как такого метода нету.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 19:10
Привет! Вот еще темы с ответами:

Ошибка компиляции (преобразование объекта класса в объект другого класса) - C++
Друзья, добрый день! Не могу понять почему выдается ошибка компиляции... Прога преобразует доллары США в старые Британские фунты. Но...

Определить обработчик исключений на преобразование указателя базового класса на указатель производного класса - C++
Класс В является производным от класса А. Определить обработчик исключительной ситуации на преобразование указателя базового класса А на...

преобразование пользовательского типа в стандартный и обратно, перегрузка оперторов - C++
#ifndef INTEGER_H_ #define INTEGER_H_ class Integer{ public: Integer(int=0); ~Integer(); Integer& operator++(); ...

Продемонстровать неявное преобразование типов: из целого в вещественный и обратно - C++
Помогите решить задачи по С++, никак не могу, вся надежда только на вас. 1. Даны вещественные и целые числа. Наглядно продемонстрируйте...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.05.2013, 19:10
Ответ Создать тему
Опции темы

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