Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 20 сен 2019, 01:23




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: 29 мар 2004, 11:25 
Интересующийся

У нас с: 09.03.2004
Сообщения: 70
Откуда: г. Минск
Когда я пишу:

int var1=0;

ifstream in("test", ios::in | ios::binary);

if(!in) {
...
}
in >> var1;

переменная var1 у меня возвращает "0".

Можно, конечно, через in.read((char*)&var1, sizeof(var1)), но
порядок следования байт при считывании меня тоже не устраивает - он переворачивает значение.

Как перегрузить оператор >> для целого и других типов?

Если нетрудно, приведите, пожалуйста, пример.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 29 мар 2004, 15:25 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 28.11.2003
Сообщения: 861
Откуда: Минск
Для встроенных типов низзя. Сделай свой класс и перегружай.
Также сделай в классе оператор преобразования во встроенные
типы. А пример пиши сам, иначе без толку. Переворот значения
устрани при помощи сетевых макросов ntohs, htons, ntohl,htonl.
смотри /usr/include/arpa/inet.h


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 


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

Найти:
Перейти:  
cron
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100