我正在尝试创建一个使用 boost 库读取输入文件的 C++ 代码,如下所示,
1 12 13 0 0 1 0 INLE
.
.
.
在这种情况下,如果右边最后一列指定的条件是 INLE,我必须执行一个操作。我有以下代码,
#include <iostream>
#include <fstream>
#include <string>
#include <boost/algorithm/string/predicate.hpp>
int main(int argc, const char * argv[])
{
std::string line;
const std::string B_condition = "INLE";
std::ifstream myfile ("ramp.bnd");
if (myfile.is_open())
{
while ( getline (myfile,line) )
{
if (boost::algorithm::ends_with(line,B_condition)==true)
{
std::cout << "Its True! \n"; // just for testing
//add complete code
}
}
myfile.close();
}
else std::cout << "Unable to open file";
return 0;
}
编译时没有问题,但是当我运行时,它没有显示任何内容。
另一方面,如果我将布尔条件修改为假,它将打印“它是真的!” 我的输入文件的行数。
我究竟做错了什么?谢谢!!