Здравсвуйте. Есть класс:
class PhoneBook
{
friend int ReadFromBinary(PhoneBook TempArray[], int nMax);
public:
PhoneBook();
void EditData();
char* GetData(char nChoise);
private:
char szName[25];
char szFirstName[25];
char szPhone[11];
char szMobilePhone[12];
};
Есть функция.
// Функция пишет из двоичного файла в массив объектов класса, если
//+ файл открыть не удалось возвратит 1, int nMax)иначе 0
int ReadFromBinary(PhoneBook TempArray[])
{
unsigned int nMax = 0;
// Экземпляр класса fstream
fstream BinaryBook;
// Открываем бинарный файл на чтение
BinaryBook.open("PhoneBook.bin", ios::binary | ios::out);
// Узнать количество????
BinaryBook.close ();
BinaryBook.open("PhoneBook.bin", ios::binary | ios::out);
if(!BinaryBook)
{
cout << "He удается открыть файл.\n";
return 1;
}
else
{
cout << "Открыт на запись успешно!\n";
for(int nCount = 0; nCount < nMax; nCount++)
{
if (BinaryBook.read((char *) &TempArray[nCount] , sizeof TempArray[nCount] ))
{
cout << "Запись: " << nCount << " - Успех!\n";
}
else
{
cout << "Запись: " << nCount << " - Провал!\n";
}
}
return 0;
}
BinaryBook.close ();
}
Как найти количество записей?