Chương trình của tôi cần tìm kiếm một từ trong tệp văn bản và nếu tìm từ đó, in ra/hiển thị toàn bộ dòng. Ví dụ:Cách tìm kiếm một từ trong tệp văn bản và nếu tìm thấy in toàn bộ dòng
employee name date joined position project annual salary tom jones 1/13/2011 accountant pricing 55000 Susan lee 2/5/2007 Manager policy 70000
tài nhập một từ tìm kiếm:
kế toán
Chương trình tìm kiếm văn bản cho accountant
. Khi nó tìm thấy nó, nó trả về những điều sau đây:
employee name date joined position project annual salary tom jones 1/13/2011 accountant pricing 55000
Đây là mã tôi đã đưa ra nhưng nó không hoạt động.
void KeyWord(ifstream &FileSearch)
{
string letters;
int position =-1;
string line;
ifstream readSearch;
cout<<"enter search word ";
cin>>letters;
"\n";
FileSearch.open("employee");
if(FileSearch.is_open())
{
while(getline(FileSearch, line))
{
FileSearch>>line;
cout<<line<<endl;
position=line.find(letters,position+1);
if(position==string::npos);
if(FileSearch.eof())
break;
cout<<line<<endl;
}
}
cout<<"Cant find"<<letters<<endl;
}
cảm ơn tôi sẽ cố gắng này ngay bây giờ .. và repost kết quả, hoặc quesitons .. Tôi đoán nơi bạn có từ token..Im sẽ thay thế bằng chữ cái .. nơi tôi nhận được đầu vào từ người dùng ..? – Darius
được cập nhật kể từ khi tôi nhận thấy một lỗi. Câu lệnh if phải có một chuỗi =! :: npos. Và yeah chỉ cần thay thế các chuỗi mã thông báo với bất cứ điều gì bạn đang tìm kiếm (kế toán trong ví dụ của bạn) – Kevin
bạn có thể chỉ cho tôi nơi để đặt! = String :: npos ... – Darius