strfun.cpp

来自「小型搜索引擎,用C/C++编写,属于全文搜索引擎」· C++ 代码 · 共 58 行

CPP
58
字号
#include "StrFun.h"CStrFun::CStrFun(){}CStrFun::~CStrFun(){}void CStrFun::Str2Lower(string& str, int nLen){        char distance='A'-'a' ;        for( int i=0 ; i<nLen; i++ )                if  ( str[i]>='A' && str[i]<='Z' )                        str[i] -= distance ;}bool _nocase_compare(char c1, char c2){        return toupper(c1) == toupper(c2);}string::size_type CStrFun::FindCase(string haystack, string needle){	assert( haystack.empty() == false );	assert( needle.empty() == false );	string::iterator pos;	pos = search(haystack.begin(), haystack.end(), 		needle.begin(),needle.end(), _nocase_compare);	if( pos == haystack.end()){		return string::npos;	}else{		return (pos - haystack.begin());	}}string::size_type CStrFun::FindCaseFrom(string haystack, string needle, int nFrom){	assert( haystack.empty() == false );	assert( needle.empty() == false );	string::iterator pos;	pos = search(haystack.begin()+nFrom, haystack.end(), 		needle.begin(),needle.end(), _nocase_compare);	if( pos == haystack.end()){		return string::npos;	}else{		return (pos - haystack.begin());	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?