我正在使用以下代码来搜索文件并提供数据和相关的行号。但是这个代码在几十万行的情况下是否足够快?我的电脑确实冻结了几秒钟。我需要搜索整数对并在逗号后返回其 RHS 值(一些统计数据),但使用以下代码我可以返回整行。
split
使用函数解析返回的数据并获取我的 RHS 值在快速性方面是否是个好主意
或者
- 根据 LHS 参数直接获取 RHS 值。(好吧,我无法做到这一点)
任何人都可以帮助我实现上述两项中的任何一项吗?
这是我的代码:
#include <string>
#include <iostream>
#include <fstream>
int main()
{
std::ifstream file( "index_hyper.txt" ) ;
std::string search_str = "401" ;
std::string line ;
int line_number = 0 ;
while( std::getline( file, line ) )
{
++line_number ;
if( line.find(search_str) != std::string::npos )
std::cout << "line " << line_number << ": " << line << '\n' ;
}
}
这是我的index_hyper.txt
文件内容:
18,22
20,37
151,61
200,62
156,63
158,64
159,65
153,66
156,67
152,68
154,69
155,56
156,14
157,13
160,122
161,1333
400,455
401,779
402,74
406,71