Ai giúp mình sửa lỗi "Segmentation fault(core dumped) " với:
Mình viết hàm thêm từ vào 1 file text. Nếu từ này tồn tại trong file text thì bắt nhập lại. Ngược lại, nếu từ này không tồn tại thì sẽ nhập từ tiếp theo. Nhưng trước khi nhập từ tiếp theo thì lỗi "Segmentation fault(core dumped) không biết tại sao?
Code:
struct Add_Words
{
string word_to_add;
string type_word;
string mean_of_word;
};
//Hàm tìm từ đã có trong file text.
int findWord(string buffer, string word)
{
int isFound = 0;
for(int i = 0; i < word.size(); i++)
{
if(buffer[i] == word[i])
isFound = 1;
}
return isFound;
}
//Hàm thêm từ vào file text.
void AddWordToDict(string FileName, Add_Words *a)
{
string buffer, tmp;
int n;
fstream DATA;
DATA.open(FileName.c_str(), ios::in | ios::app);
cout << "Nhap so luong tu: ";
cin >> n;
while(!DATA.eof())
{
getline(DATA,buffer);
for(int i = 0; i < n; i++)
{
cout << "\t\t\tTu thu " << i + 1 << endl;
__fpurge(stdin);
do
{
cout << "Tu moi: ";
getline(cin,a[i].word_to_add);
tmp = a[i].word_to_add;
if(findWord(buffer,tmp) == 1)
cout << "Vui long nhap lai." << endl;
else
{
cout << "Loai tu: ";
cin >> a[i].type_word;
__fpurge(stdin);
cout << "Nghia cua tu \"" << a[i].word_to_add << "\"" << ": ";
getline(cin,a[i].mean_of_word);
}
}while(findWord(buffer,tmp) == 1);
}
}
}
MÌnh viết trên C++ Linux nhé.