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

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

2022-8-18 13:10
4210
收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 283
活跃值: 活跃值 (439)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
陈浩楠 活跃值 2022-8-18 14:05
2
0
1:双for循环并记录索引;2:若字串元素在母串中并且索引连续说明母串包含子串
雪    币: 1985
活跃值: 活跃值 (1508)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
LexSafe 活跃值 2022-8-18 14:56
3
0
 KWP SUNDAY
雪    币: 12010
活跃值: 活跃值 (7125)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
hzqst 活跃值 3 2022-8-18 16:55
4
0
如果你说的是UNICODE_STRING的话,只有判断prefix和suffix的,没有find
雪    币: 408
活跃值: 活跃值 (834)
能力值: ( 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;   
}


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