2016-05-02 19 views
0

私はユーザにテキストファイルを入力させ、プログラムはこのテキストファイルを検索し、見つかったらそのテキストファイル内の単語を検索しなければなりません。このファイルに数字が何回出現したかを数えます。テキストファイル内の単語を単純に検索するコードを書くのに問題があります。助けてください。これは私が今までに持っているものです:Fstreamがテキストファイルの単語を検索する

#include <iostream> 
#include <fstream> 
#include <string> 
using namespace std; 

int main() 
{ 
    string dog; 
    int word; 
    int TheFile; 



    cout << "enter the name of file and I'll search for it: " << endl; 
    cin >> name; 

    //opening the file 
    TheFile.open(name, ios::out); 

    if (file) 
    { 
     cout << "enter the word you want to search for: " << endl; 
     cin >> word; 
     getline(file, word); 

//stuck here 

     for (unsigned int Numline = 0; getline(TheFile, SearchWord);NumLine++) 
      if (SearchWord.find) 
    } 
    else 
    { 
     cout << "the file " << NameofFile << " does not exist!" << endl; 
     return 0; 
    } 
} 

答えて

0

一度あなたが検索語を読んだら、それをそのままにしておきます。

その後、ファイルから他の(文字列)変数に行を読み込みたいとします。そして、あなたはinput_line.find(search_word)を使用して、その文字列(例えば、中に検索ワードを検索したい。

0

これはトリックを行う必要があります。(getlineの(TheFile、ライン))しながら、文字列を使用してから、ループとのために使用します::検索するために見つけます(ジェリーの答えを参照)将来的には、*ガイダンス*を提供 - 。!に!ラインでSearchWord

#include <iostream> 
#include <fstream> 
#include <string> 
#include <conio.h> 
using namespace std; 

int main() 
{ 
    string name; 
    cout << "enter the name of file : " << endl; 
    cin >> name; 

    // opening the file 
    fstream TheFile; 
    TheFile.open(name, ios::in); 

    if (TheFile.is_open()) 
    { 
     string word; // hold the word user inputs to be searched for 
     cout << "enter the word: " << endl; 

     string Line; 
     unsigned int found = 0; 
     while (getline(TheFile, Line)) { 
      if (Line.find(word) != string::npos) 
       ++found; 
     } 

     cout << "the word " << word << " was found " << found << " times" << endl; 
    } 
    else 
    { 
     cout << "the file " << name << " does not exist!" << endl; 
    } 

    cout << "press enter to exit " << endl; 
    int c = getch(); 
    return 0; 
} 
+0

それは感謝milionを働いた:) – whatUp

+2

は、これは明らかに宿題ですし、オペアンプのための作業を行ってきました実際のコードではなく... – Nim

関連する問題