Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
 Аватар для Stans
79 / 54 / 3
Регистрация: 05.12.2009
Сообщений: 434

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

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

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Пишу курсач на плюсах (простенький чат). Обязательным условием является использование классов(плюсы все таки). Я задумал сделать класс в котором будут содержаться ник юзера(char*), его сообщение(char*) и его ip-адрес(char*). Но дело в том, что предавать через сокеты объекты нельзя, только строки. Возник вопрос, как можно преобразовать объект в строку? Слышал, что на java есть специальный метод для этих целей. Хотелось бы узнать есть ли он в С++? Или хотя бы алгоритм преобразования объекта в строку и обратно.
ЗЫ: Если подскажете, для каких еще целей можно использовать классы, буду очень благодарен.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.05.2013, 00:16
Ответы с готовыми решениями:

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

Преобразование чисел в строку и обратно
Создайте переменную типа int и присвойте ей значение 27. Создайте переменную типа string, присвойте ей значение переменной типа int,...

Преобразование числа в форматированную строку и обратно
Всем привет, недавно нарыл как преобразовывать число в строку с разделением по разрядам: textBox1.Text = ...

3
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
07.05.2013, 05:09
Во-первых,
Цитата Сообщение от 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 Посмотреть сообщение
для каких еще целей можно использовать классы
Да на каждый чих. Что видим когда смотрим в чат? Пользоваталей. Сообщения. Какой-то интерфейс (окна, кнопки, поля). Заглядываем под капот, что там? Сокеты. Функции для работы с ними, которые могут возвращать коды ошибок (можем написать исключений поверх).
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.05.2013, 05:38
Цитата Сообщение от Stans Посмотреть сообщение
Возник вопрос, как можно преобразовать объект в строку?
А смысл? Если нужно передать поле класса (string) через сокет, то берёте поле класса и передаёте.
0
 Аватар для Stans
79 / 54 / 3
Регистрация: 05.12.2009
Сообщений: 434
07.05.2013, 19:10  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Во вторых, открываем man send и видим:
ssize_t send(int s, const void *msg, size_t len, int flags);
Насколько я понимаю, это метод под Linux. А я пишу из-под Windows на Microsoft Visual Studio. В ней вроде как такого метода нету.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.05.2013, 19:10
Помогаю со студенческими работами здесь

Преобразование произвольных данных "типа значения" в строку и обратно
Требуется преобразовать данные "типа значения" (int, float и т.п.) в строку и обратно. В месте преобразования заранее неизвестно какого...

Перекодировать строку из кодировки KOI в строку в кодировке Windows-1251 и обратно
Составить программы, печатающие результаты вычислений. Ребят помогите это задание сделать!

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

Преобразование double в String и обратно!
Здравствуйте! Возникла проблема: Есть на форме EditText - в него вывожу значение: etv.setText(String.format("%.1f",...

Преобразование текста в байты и обратно
Необходимо считать строку текста, получить последовательность байт, провести некоторые преобразования, вновь получить на выходе...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru