void Binarycheck() {
long Ilk, Son,Dboyut;
ifstream Dosya("Personel.bin");
Ilk = Dosya.tellg(); //dosyanin baslangic adresini al
Dosya.seekg(0, ios::end); //dosyanin sonuna git
Son = Dosya.tellg(); //dosyanin son adresini al
Dosya.close();
Dboyut = (Son - Ilk);
KayitAdedi = (Son - Ilk) / sizeof(Veri);
}
void Binarystart() {
Binarycheck();
Cikis.open("Personel.bin", ios::in | ios::binary);
for (int k = 0; k<KayitAdedi; k++)
{
Cikis.read((char*)&Veri, sizeof(Veri));
Veriler[k] = Veri;
}
Cikis.close();
}
Personel m1BagliKayits() {
int persno, kno,bsayi, i;
Binarycheck();
Binarystart();
cout << "Personel Numarasi Girin ="; cin >> persno;
kno = persno - 1001;
cout << Veriler[kno].Isim;
Veriler[kno].Bagli = new Baglilar;
cout << "Girilecek Bagli Sayisi= "; cin >> bsayi;
for (i = 0; i < bsayi; i++) {
cout << "bagli adi girin= "; cin >> Veriler[kno].Bagli[i].Isim;
}
//for (i = 0; i < bsayi; i++) {
// cout << Veriler[kno].Bagli[i].Isim;
//}
system("pause");
return Veriler[kno];
}
void m1BagliKayit() {
bcikis.open("Baglilar.bin", ios::out || ios::binary || ios::app);
Data = m1BagliKayits();
bcikis.write((char*)&Data, sizeof(Data));
bcikis.close();
system("pause");
}
你好,我是stackoverflow和c ++的新手,我正在尝试用c ++做事,当然我不能,
前两个函数获取有关personel.bin
文件的信息,然后我尝试创建一个名为Baglilar.bin
的新文件,但它失败了。有时我会得到&#34;断点&#34;错误有时我不会得到任何错误,但程序没有创建&#34; Baglilar.bin&#34;文件并在其中插入数据,从personel.bin
获取数据并使用它没有问题,我没有得到任何其他错误,想知道问题是什么,有人可以请帮助我?感谢您的关注。抱歉英语不好
struct Baglilar
{
int No;
char Isim[20];
}Baglikisisayisi,Bagli,BData,B;
struct Personel
{
char Isim[20];
char Soyisim[20];
int gun, ay, yil;
int No,izin,isgunu,maaskat,maas,aygun,Baglikisisayisi;
Baglilar *Bagli;
}Veri,Veriler[10],Data,D,temp;