检查文本文件c ++中是否存在单词

时间:2012-11-20 21:27:58

标签: c++ file text

我需要检查字典文本文件中是否存在单词,我想我可以使用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;
}

2 个答案:

答案 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;
}