ユーザーが入力した文字列の順列が、単語数の少ないテキストファイル内の有効な単語であるかどうかを確認するつもりです。
文字列を入力した後、何も起こりません!「if」stmtの何が問題になっていますか?また、実行されるelseを作成すると、list.txtに存在する単語を入力しても、制御に到達しません。
これを修正するにはどうすればよいですか?
//check if any permutation of a user inputted word are in a pre defined text file
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main(){
cout<<"Enter a word to check for the presence of any
<< of its permutation in a file \n";
string word;
cin>>word;
sort(word.begin(), word.end());
vector<string> str;
do str.push_back(word);
while( next_permutation(word.begin(),word.end()) );
ifstream readFile("list.txt");
string line;
while(readFile>>line){
for (int i = 0; i < str.size(); ++i){
if(line==str[i]){
cout << "found " << str[i] << endl;
break;
}
}
}
system("pause");
return EXIT_SUCCESS;
}