Страница 1 из 1

чтение файла с помощью стандартной библиотеки

Добавлено: 29 мар 2004, 11:25
monk
Когда я пишу:

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
exe
Для встроенных типов низзя. Сделай свой класс и перегружай.
Также сделай в классе оператор преобразования во встроенные
типы. А пример пиши сам, иначе без толку. Переворот значения
устрани при помощи сетевых макросов ntohs, htons, ntohl,htonl.
смотри /usr/include/arpa/inet.h