我有一个包含不同联系人详细信息的文本文件。 它基本上就像这样
John Doe 024587 7月24日来自家乡的生活Jane Doe 024584 8月25日工作生活工作
我希望能够在文件中搜索“John Doe”或“Jane Doe”。
我决定从文件中读取内容并将它们存储在一个数组中。我想知道如何搜索数组。这段代码似乎没有削减它。 noOfContacts是文件中的联系人数。
readFile.open("book.txt", ios::out);
while (!readFile.eof())
{
cout << "Enter anything you wish to search" <<endl;
getline(cin, searchString);
for (int k = 0; k < noOfContacts; k++)
{
getline (readFile,name[k]);
readFile >> phone[k];
getline(readFile,birth[k]);
getline(readFile,address[k]);
getline(readFile,workplace[k]);
cout << name[k]<<endl;
cout << phone[k]<< endl;
cout << birth[k]<<endl;
cout << address[k]<<endl;
cout << workplace[k]<<endl;
break;
}
答案 0 :(得分:0)
为什么有for循环?做类似的事情会不会更容易:
unsigned found = 0;
cout << "Enter anything you wish to search" <<endl;
getline(cin, searchString);
while(!readFile.eof() && (found==0)){
getline(readFile,testString);
found=testString.find(searchString);
}
if (found == 0) {
cout << "String found!\n " << testString.c_str(); << endl;
}
else{
cout << "String Not Found!\n";
}
我没有测试过这段代码,但希望它会让你知道要走哪条路。