あなたが探している情報は、この日記には記されていない可能性が高いです。(検索で来た人用)
にらどんは一杯500円。尚、出前は承っておりません。ご了承下さい。

#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

typedef struct {
	char famiry[11];
	char name[11];
	char special[15];
	char sex[5];
	char character[11];
	unsigned int Lv;
	unsigned int kotaiti[6];
	unsigned int doryoku[6];
	char mezapa[5];
} PokeData;

int main() {
	PokeData testData, getTest;
	int localKotaiti[6] = { 31, 2, 31, 30, 31, 30};
	int localDoryoku[6] = { 4, 0, 0, 248, 4, 248};
	
	// 書き込み
	ofstream fout("070121.dat", ios::out | ios::binary);
	if(!fout) return 1;
	
	strcpy(testData.famiry,		"キャタピー");
	strcpy(testData.name,		"V2VUv");
	strcpy(testData.special,	"りんぷん");
	strcpy(testData.sex ,		"♂");
	strcpy(testData.character, 	"おくびょう");
	testData.Lv					= 5;
	for (int i = 0; i < 6; i++) {
		testData.kotaiti[i]	= localKotaiti[i];
		testData.doryoku[i]	= localDoryoku[i];
	}
	strcpy(testData.mezapa,		"炎70");
	
	fout.write((char*)&testData, sizeof(PokeData));
	
	fout.close();
	
	// 読み込み
    ifstream fin("070121.dat", ios::in | ios::binary);
    if(!fin) return 1;
	
    fin.read((char*)&getTest, sizeof(PokeData));
	
	cout << getTest.famiry		<< endl;
	cout << getTest.name		<< endl;
	cout << getTest.special		<< endl;
	cout << getTest.sex			<< endl;
	cout << getTest.character	<< endl;
	cout << getTest.Lv			<< endl;
	for (int i = 0; i < 6; i++) {
		cout << "個体値:" << getTest.kotaiti[i]	<< endl;
		cout << "努力値:" << getTest.doryoku[i]	<< endl;
	}
	cout << getTest.mezapa		<< endl;
	
    fin.close();
	
    return 0;
}

まぁこんなところじゃないですか。
アウトプットとインプットのファイルオープンをわけているのは練習のためです。fstreamクラスの存在は知っています。
このPokeData構造体の配列を作って、そこに次々にデータを読み込んでいけばいいんだよね。
OK、把握した。