01/10/2018, 12:14

Xử lý tập tin trong OOP, không dừng đc- > tràn bộ nhớ

file INPUT.TXT
B01A2 12 2
D09V0 6 2
B03N2 20 5
lần lượt là mã sô, cân nặng, tuổi
e dùng while(!cin.eof()) để đọc tập tin, string loai để nhận loai[0] = ‘B’ hay ‘D’, B là bò còn D là dê
e debug nhận đc đâu là bò đâu là dê, nhưng lỗi là nó không dừng dẫn đến tràn bộ nhớ,
a/c nào chỉ ra lỗi đc ạk
code của e đây ạk

 string loai;
	int i = 0;
	do
	{
		CConVat *a = NULL;
		cin >> loai;	
		if (loai[0] == 'B')
			a = new CBo;
		if (loai[0] == 'D')
			a = new CDe;
		int pos = cin.tellg();
		cin.seekg(pos - 5);
		a->Nhap();
		dscv[i] = a;
		i++;
	} while (!cin.eof());
	sl = i;

file input ở trên e chỉ vd thôi nhé, trong hình là file khác


ai chỉ e bug là gì ạk
thanks all for help me

PhungHV viết 14:27 ngày 01/10/2018

Cái chỗ đọc file của bạn đâu

Thế Hòa viết 14:23 ngày 01/10/2018

trong hàm main, mình sử dụng freopen để đọc file
m fix đc lỗi rồi,
thanks nhé

Bài liên quan
0