Código:
#include <iostream>
#include <conio.c>
using namespace std;
struct tp
{
char n[30];
};
void cg(tp *);
void pant(tp *);
int main (int argc, char* argv[])
{
tp p;
cg(&p);
pant(&p);
getch();
return 0;
}
void cg(tp *p)
{
FILE *a;
if((a=fopen("c:\\si.cho","wb"))==NULL)
cout<<"nu";
else
{
for(int i=0; i<3; i++)
{
cin.getline((p->n),30);
fwrite(&p,sizeof(tp),1,a);
}
}
fclose(a);
}
void pant(tp *p)
{
FILE *ar;
if((ar=fopen("c:\\si.cho","rb"))==NULL)
cout<<"nu";
else
{
fread(&p,sizeof(tp),1,ar);
while(!feof(ar))
{
cout<<(p->n)<<endl;
fread(&p,sizeof(tp),1,ar);
}
}
fclose(ar);
}

