Im 방 번호를 검색하는 방법에 대해 쓰고 싶습니다. C++에서 txt의 원하는 방 번호를 포함하는 줄을 삭제하지만 모든 항목을 삭제하는 것은 무엇이 문제입니까? 그리고 그 모든 잘못된 코드는 나에게 새로운 알고리즘을 제안 할 수 있습니까?원하는 줄을 txt에서 삭제하는 방법
int sil;
cout << "Silmek istediğiniz oda numarası : ";
cin >> sil;
oda.Sil(sil);
fstream veriler,gecici;
veriler.open("Veriler.txt", ios::out || ios::in || ios::app);
gecici.open("Gecici.txt", ios::out || ios::in || ios::app);
while (!veriler.eof())
{
veriler >> oda.oda_Numara;
veriler >> oda.musteri_Ad;
veriler >> oda.musteri_Soyad;
veriler >> oda.oda_Ucret;
veriler >> oda.musteri_Kimlik;
veriler >> oda.musteri_Numara;
if (oda.oda_Numara == sil)
continue;
else
{
gecici << setw(20) << oda.oda_Numara
<< setw(20) << oda.musteri_Ad
<< setw(20) << oda.musteri_Soyad
<< setw(20) << oda.oda_Ucret
<< setw(20) << oda.musteri_Kimlik
<< setw(20) << oda.musteri_Numara
<< endl;
}
}
remove("Veriler.txt");
rename("Gecici.txt", "Veriler.txt");
gecici.close();
1. 파일을 실제로 열었는지 확인하십시오. 2. [eof is bad while while] (https://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition- 고려해야 함) –
3. 아마도 디버거를 사용하십시오 –
[특정 행을 파일에서 삭제] (https://stackoverflow.com/questions/26576714/deleting-specific-line-from-file) 중복 가능성이 있음 –