Я пытаюсь создать программу на C ++, которая позволяет мне читать из файла и находить совпадения ввода в каждой строке.Обратите внимание, что каждая строка - это отдельная запись, разделенная комой.Если совпадение найдено, ожидаемым результатом будет строка из записи.
Например: данные из файла =>
Эндрю, Энди, Эндрю Андерсон
Джейд, Джейд, Jade Sonia Blade
Ввод => Джейд
Выход => измученный
Как я могу это сделать?Я пытаюсь реализовать strtok, но безрезультатно.Пока что я не получаю хороших результатов.Может кто-нибудь, пожалуйста, помогите мне с этим?
РЕДАКТИРОВАТЬ
относительно этой проблемы, я думаю, что я где-то получаю ... но все же экран вывода вылетает, когда я его запускаю.это мой код
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
main () {
// string toks[];
char oneline[80],*del;
string line, creds[4];
int x = 0;
ifstream myfile;
myfile.open("jake.txt");
if (myfile.is_open())
{
while (!myfile.eof())
{
getline(myfile,line);
strcpy(oneline,line.c_str());
del = strtok(oneline,",");
while(del!=NULL)
{
creds[x] = del;
del = strtok(NULL,",");
x++;
}
}
myfile.close();
}
else
cout << "Unable to open file";
system("pause");
}
Может кто-нибудь пролить свет на это для меня, пожалуйста?
РЕДАКТИРОВАТЬ ....
У меня есть некоторые успехи в этом ...проблема сейчас в том, что при совпадении ввода со следующей строкой происходит сбой ...
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
main () {
// string toks[];
char oneline[80],*del;
string line, creds[3], username, password;
int x = 0;
cout<<"Enter Username: ";
cin>>username;
cout<<"Enter Password: ";
cin>>password;
ifstream myfile;
myfile.open("jake.txt");
if (myfile.is_open())
{
while (!myfile.eof())
{
getline(myfile,line);
strcpy(oneline,line.c_str());
del = strtok(oneline,",");
while(del!=NULL)
{
creds[x] = del;
del = strtok(NULL,",");
++x;
}
if((creds[0]==username)&&(creds[1]==password))
{
cout<<creds[2]<<endl;
break;
}
}
myfile.close();
}
else
cout << "Unable to open file";
system("pause");
}
Может кто-нибудь помочь мне с этим, пожалуйста?