Этот фрагмент кода предназначен для открытия файла, содержащего двоичные данные? Или открыть файл символьных данных и превратить его в двоичные данные во входном потоке?
void open_infile(ifstream& ifs)
{
string infile;
cout << "Please enter the name of the file:";
cin >> infile;
ifs.open(infile.c_str(),ios_base::binary);
if (!ifs) error("can't open out file");
}
Для ifs.open(infile.c_str(),ios_base::binary);
, это означало открыть файл, содержащий двоичные данные.
Зайдите сюда для получения дополнительной информации.