Re: Как узнать open_mode в открытом stream?
От: Sergey Россия  
Дата: 23.04.02 07:45
Оценка:
Здравствуйте Sah, Вы писали:

Sah>Hi!

Sah>Can I test, what open_mode in stream?

Sah>I want:

Sah>instream& Read(instream& is, CMyClass& my)
Sah>{
Sah>if(is.???? & ios::binary)
Sah>{
Sah>ReadFromBinary(is, my);
Sah>}
Sah>else
Sah>{
Sah>ReadFromText(is, my);
Sah>}
Sah>return is;
Sah>}

Собственно, неплохо бы было уточнить, о каком это instream речь идет? В стандартной библиотеке C++, AFAIK, нет такого класса.
Если имеется в виду std::istream, то никак — у него нет метода open и он не обязан различать binary и text режимы.
Если речь идет о std::ifstream, то, не завязываясь на детали реализации, насколько я знаю, тоже не узнаешь

Да и вообще, суета это — самому \r\n в \n преобразовывать (а ничем другим binary от text вроде и не отличается). Открывай всегда в binary и не мучайся
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.