だから私はゲームの開始のためにログインしようとしていて、名前とパスワードの登録をプログラムしました。しかし、ファイルをスキャンしてこれらのユーザー名のいずれかを見つける方法はありますか?
:) 前もって感謝します。
だから私はゲームの開始のためにログインしようとしていて、名前とパスワードの登録をプログラムしました。しかし、ファイルをスキャンしてこれらのユーザー名のいずれかを見つける方法はありますか?
:) 前もって感謝します。
C++ で利用可能な「ファイル内の単語を検索」があります。
typedef std::istream_iterator<std::string> InIt;
if (std::find(InIt(std::ifstream("file.txt") >> std::skipws), InIt(), word) != InIt())
{
std::cout << "the word '" << word << "' was found in 'file.txt'\n";
}
これを機能word
させるには、空白で区切る必要があります。std::istream_iterator<std::string>
クラスは、それが構築されたストリームからタイプのオブジェクトを読み取りstd::string
、対応するシーケンスへのイテレータ アクセスを提供します。default-constructedstd::istream_iterator<std::string>()
は、シーケンスの終わりを示すために使用されます。std::find()
上記の場合、最後の引数に一致するシーケンスでオブジェクトを探す標準アルゴリズムの 1 つにすぎませんword
。
このコードで少し変わっているのは、std::ifstream
オブジェクトの使用です。結果は単なるブール式であるため、一時的な式std::ifstream
が使用されます。コンストラクター はコンストラクター引数としてtsd::istream_iterator<std::string>
取り、std::istream&
テンポラリは非参照にバインドできないためconst
、マニピュレーター ( ) が挿入されます。この操作は非参照をテンポラリにstd::skipws
返す以外には効果がありません。const
std::ifstream
ファイルをテキスト モードで開き、1 行ずつ読み取ります。行ごとに、探している単語をスキャンします。
それはそれについてです。これを行うために呼び出すことができる単一の関数はありません。