私はまだ学習中であり、私のコードは見栄えが悪いと思う人もいるかもしれませんが、これで終わりです。
example.txt という名前のテキスト ファイルがあります。
example.txt の行は次のようになります。
randomstuffhereitem=1234randomstuffhere
プログラムに item= の横にある数字を取り込ませたいので、次のコードを使用して少し始めました。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
string word;
int main()
{
ifstream readFile("example.txt", ios::app);
ofstream outfile("Found_Words.txt", ios::app);
bool found = false;
long int price;
cout << "Insert a number" << endl;
cout << "number:";
cin >> number;
system("cls");
outfile << "Here I start:";
while( readFile >> word )
{
if(word == "item=")
ここに問題があります。まず、「item=」のみを検索しますが、それを見つけるために、他の文字と一緒に含めることはできません。それは独立した単語でなければなりません。
次のものは見つかりません。
helloitem=hello
次のものが見つかります。
hello item= hello
スペースで区切る必要があるのも問題です。
次に、item= の横にある数字を見つけたいと思います。item=1234 を見つけられるようにしたいと思いますが、1234 は 6723 のような任意の数字にできることに注意してください。
そして、数字の後に来るものを見つけたくないので、数字が止まると、それ以上データを取り込まなくなります。item=1234hello のように item=1234 でなければなりません
{
cout <<"The word has been found." << endl;
outfile << word << "/" << number;
//outfile.close();
if(word == "item=")
{
outfile << ",";
}
found = true;
}
}
outfile << "finishes here" ;
outfile.close();
if( found = false){
cout <<"Not found" << endl;
}
system ("pause");
}