C++无法搜索其他偶数订单名称
C++ can't search other even order names
大家美好的一天,我正在寻求有关如何修复有关在 c++ 中搜索文件的代码的帮助,
示例文本(测试.txt):
name: jason statham
age: 19
name: jeremy renner
age: 17
name: kim tak gu
age: 18
name: donnie yen
age: 20
这是我的代码:
#include<conio.h>
#include<iostream>
#include<string>
#include<fstream>
#include<istream>
#include<windows.h>
void search() //function only of my main program
{
string name="", searchname;
string age="";
ifstream search_sample("test.txt");
cout<<"Enter name to be search: ";
cin.ignore();
getline(cin, searchname);
size_t pos;
while(search_sample.good())
{
getline(search_sample, name);
getline(search_sample, age);
pos=name.find(searchname);
if(pos!=string::npos)
{
cout<<"nRecord Foundnn";
cout<<name<<"n";
cout<<age<<"n";
break;
}
}
getch();
main();
}
在搜索Jason Statham和Kim Tak Gu(那些处于奇怪位置的人)时,他们被发现并显示在命令提示符中,然后当我开始搜索那些处于偶数位置的人时,他们没有找到并且没有显示在命令提示符中,谁能帮助我? 提前谢谢。
问题是空行也是行。对于第一人称,name
和age
被正确读取,但在循环的下一次迭代中,name
将为空,因为getline(search_sample, name)
读取空行。
getline(search_sample, name);
getline(search_sample, age);
getline(search_sample, blank_line);
似乎是一种改进。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- 在其他文件中创建类时在 c++ 项目中不起作用
- 类与私有变量的其他类之间的线程安全性
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- GlobalAlloc而不是其他分配方法
- C++从其他 constexpr 创建 lambda 不能按顺序执行 Constexpr
- 断言中的Fold表达式在某些计算机上编译,但在其他计算机上不编译
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 结构和双指针隐藏在其他结构中,多层混淆
- UE4在OnComponentBeginOverlap上铸造其他actor
- 当我在其中一个线程执行中(在activemq-cpp中)捕获到特定值时,我如何终止/停止所有其他线程
- MESI协议和std::atomic-它是否确保所有写入立即对其他线程可见?
- 保留对其他类的成员函数的引用
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- 具有包含其他对象的类的对象创建顺序
- 让bool方法返回其他整数