我需要检查字典文本文件中是否存在单词,我想我可以使用strcmp,但我实际上并不知道如何从文档中获取一行文本。这是我现在的代码,我坚持了。
#include "includes.h"
#include <string>
#include <fstream>
using namespace std;
bool CheckWord(char* str)
{
ifstream file("dictionary.txt");
while (getline(file,s)) {
if (false /* missing code */) {
return true;
}
}
return false;
}
答案 0 :(得分:2)
char aWord[50];
while (file.good()) {
file>>aWord;
if (file.good() && strcmp(aWord, wordToFind) == 0) {
//found word
}
}
您需要使用输入操作符读取单词。
答案 1 :(得分:2)
std::string::find
完成这项工作。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
bool CheckWord(char* filename, char* search)
{
int offset;
string line;
ifstream Myfile;
Myfile.open (filename);
if(Myfile.is_open())
{
while(!Myfile.eof())
{
getline(Myfile,line);
if ((offset = line.find(search, 0)) != string::npos)
{
cout << "found '" << search << " \n\n"<< line <<endl;
return true;
}
else
{
cout << "Not found \n\n";
}
}
Myfile.close();
}
else
cout<<"Unable to open this file."<<endl;
return false;
}
int main ()
{
CheckWord("dictionary.txt", "need");
return 0;
}