如何允许用户搜索文件中的内容?
How Do I allow a user search for contents in a file in C?
我有一个包含不同联系人详细信息的文本文件。就像这样
无名氏7月24日在家工作在家生活无名氏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;
}
为什么有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";
}
我还没有测试过这段代码,但希望它能给你一个思路。
相关文章:
- 将类成员函数的模板定义放在 CPP 文件中C++隐式实例化而不是 .H 允许吗?
- C++中的头文件如何允许更快的编译
- 如何允许我的程序成功读取数字包含的文件
- 为什么 POSIX 允许在现有文件末尾 (fseek) 之外查找只读模式
- 允许 IFileOpenDialog 选取尚未创建的文件
- 将多个文件传递给C/C 编译器允许进行概要优化
- 仅允许一个文件重定向到stdin
- 如何允许用户选择要读取的文件?C++
- 对象文件"Version References"从何而来?
- Buck是否允许预先构建的CXX库具有多个库文件
- 在JSON文件中允许评论boost read_json
- 您是否允许将任何随机DLL文件用作库
- QFileDialog:使用 getOpenFileName 允许不存在的文件
- C++11是否允许引用一个匿名的临时文件
- gitignore 允许 obj 模型,但不允许编译 obj 文件
- 外部"C"如何允许在 C 文件中C++代码?
- Windows是否允许同时写入文件
- 我可以允许多个程序同时从同一个文件中读取吗
- 允许命令行工具使用 ofstream 创建文件
- 由触发器调用的 MS SQL XP 更改 C++ 文件日期戳,以允许刷新表单应用程序 vb.net