Как я могу читать и записывать символы без знака в файлы с помощью fstream в C ++?

Пока что у меня есть код для чтения неподписанного символа из ifstream:

ifstream in;
unsigned char temp;

in.open ("RANDOMFILE", ios::in | ios::binary);
in.read (&temp, 1);
in.close ();

Это правильно? Я также пытался записать беззнаковый символ в офстрим:

ofstream out;
unsigned char temp;

out.open ("RANDOMFILE", ios::out | ios::binary);
out.write (&static_cast<char>(temp), 1);
out.close ();

Но я получаю следующую ошибку при записи:

error C2102: '&' requires l-value

И эта ошибка при чтении:

error C2664: 'std::basic_istream<_Elem,_Traits>::read' : cannot convert parameter 1 from 'unsigned char *' to 'char *'

Было бы признательно, если бы кто-нибудь мог сказать мне, что не так с моим кодом или как я могу читать и писать символы без знака из fstream.

5
задан GILGAMESH 29 December 2011 в 14:15
поделиться