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

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

2022-8-18 13:10
5963
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 284
活跃值: (487)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
1:双for循环并记录索引;2:若字串元素在母串中并且索引连续说明母串包含子串
2022-8-18 14:05
0
雪    币: 2325
活跃值: (2304)
能力值: ( LV6,RANK:89 )
在线值:
发帖
回帖
粉丝
3
 KWP SUNDAY
2022-8-18 14:56
0
雪    币: 12857
活跃值: (9172)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
4
如果你说的是UNICODE_STRING的话,只有判断prefix和suffix的,没有find
2022-8-18 16:55
0
雪    币: 407
活跃值: (1851)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5

可以自己写一个

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;   
}


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