首页
社区
课程
招聘
[求助]UNICODE字符串。如何判断母串是否包含一个特定子串?
2022-8-18 13:10 5072

[求助]UNICODE字符串。如何判断母串是否包含一个特定子串?

2022-8-18 13:10
5072
收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 284
活跃值: (487)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
陈浩楠 2022-8-18 14:05
2
0
1:双for循环并记录索引;2:若字串元素在母串中并且索引连续说明母串包含子串
雪    币: 2251
活跃值: (2148)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
LexSafe 2022-8-18 14:56
3
0
 KWP SUNDAY
雪    币: 12837
活跃值: (8993)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2022-8-18 16:55
4
0
如果你说的是UNICODE_STRING的话,只有判断prefix和suffix的,没有find
雪    币: 407
活跃值: (1567)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Thead 2022-8-19 09:16
5
0

可以自己写一个

BOOLEAN
RtlFindSubString (   
	PUNICODE_STRING Source,
	PUNICODE_STRING Search   
    )     
{   
	USHORT index = 0;
	USHORT SearchChar = 0;
	USHORT Loop = 0;

	if( ! Source || ! Search )
		return FALSE;
	if( RtlUnicodeStringValidateEx( Source, 0 ) != STATUS_SUCCESS )
		return FALSE;
	if( RtlUnicodeStringValidateEx( Search, 0 ) != STATUS_SUCCESS )
		return FALSE;
	if( Source->Length < Search->Length )
		return FALSE;

	if( Source->Length == Search->Length )
		return RtlEqualUnicodeString( Source, Search, TRUE );

	SearchChar = Search->Length >> 1;
	Loop = ( Source->Length >> 1 ) - SearchChar;

	while( index <= Loop )
	{
		if ( !_wcsnicmp( &Source->Buffer[index], Search->Buffer, SearchChar ) )
			return TRUE;

		index++;
	}
	return FALSE;   
}


雪    币: 5879
活跃值: (2512)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MSGG05 2022-8-23 16:19
6
0
FsRtlIsNameInExpression
游客
登录 | 注册 方可回帖
返回