Я перепробовал много методов, но я все еще запутался.
я заменяю «слово» на символ и строку var.
я поместил слово из x в другой var, но это не удалось.
что не так с этим кодом?
#include <iostream>
#include <fstream>
using namespace std;
int main() {
char x[99];
fstream file;
file.open("data.txt",ios::in);
for (int i=1 ; !file.eof() ; i++) {
file.getline(x,99,' ');
if(x=="word")
cout << "found";}
file.close();
return 0;
}
Прежде всего, использование массива символов не является хорошей идеей, вместо этого используйте string.h и используйте встроенные функции ООП для обработки текста в файле. это будет проще
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
cout << "Write the path of the file\n" ;
string path ;
cin >> path ;
ifstream file(path.c_str()) ;
if(file.is_open()) //checking if files exists
{
cout << "Write the word you're searching for\n" ;
string word ;
cin >> word ;
int countwords = 0 ;
string candidate ;
while( file >> candidate ) // for each candidate word read from the file
{
if( word == candidate ) ++countwords ;
}
cout << "The word '" << word << "' has been found " << countwords << " times.\n" ;
return 0;
}
else
{
cout << "Error! File not found!\n" ;
return 1 ;
}
}
Других решений пока нет …