Mój program musi wyszukać słowo w pliku tekstowym, a jeśli znajdzie to słowo, wydrukować/wyświetlić całą linię. Przykład:Jak wyszukać słowo w pliku tekstowym i jeśli zostanie znalezione, wydrukuj całą linię
employee name date joined position project annual salary tom jones 1/13/2011 accountant pricing 55000 Susan lee 2/5/2007 Manager policy 70000
użytkownik wpisze słowo kluczowe:
księgowy
Program przeszukuje tekst na accountant
. Po znalezieniu zwraca następujący kod:
employee name date joined position project annual salary tom jones 1/13/2011 accountant pricing 55000
To jest kod, który wymyśliłem, ale nie działa.
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;
}
dziękuję Spróbuję tego teraz .. i odśwież wyniki, lub pytania. Zgaduję, gdzie masz słowo tok ... Zamierzam zastąpić literami .. gdzie dostaję dane wejściowe od użytkownika ..? – Darius
zaktualizowano, ponieważ właśnie zauważyłem błąd. Instrukcja if powinna mieć ciąg! = String :: npos. A tak, po prostu zastąp żeton ciągu cokolwiek szukasz (księgowy w twoim przykładzie) – Kevin
czy możesz pokazać mi, gdzie umieścić ciąg! = :: npos ... – Darius