gpt4 book ai didi

c++ - 在 C++ 中将 PUNICODE_STRING 与 regex_match 结合使用

转载 作者:行者123 更新时间:2023-11-30 02:36:46 25 4
gpt4 key购买 nike

我正在尝试使用 PasswordFilter 函数,需要获取 Password 变量值,它是一个 PUNICODE_STRING,然后使用 regex_match 来匹配密码策略。

问题是 regex_match 无法识别 PUNICODE_STRING。

我能做什么?

最佳答案

存储为 LSA_UNICODE_STRING(或其 typedef)的字符串可能不是空终止的,因此将 Buffer 指针传递给需要空终止字符串的函数(或 std::wstring) 不保证安全。

相反,使用 Length 字段将其转换为 std::wstring 以指定字符串的长度:

PUNICODE_STRING pStringIn; // this comes from somewhere
std::wstring strOut(pStringIn->Buffer, pStringIn->Length / sizeof(wchar_t));

然后您可以使用 strOut.c_str() 或将其直接传递给接受 std::wstring 的函数。

关于c++ - 在 C++ 中将 PUNICODE_STRING 与 regex_match 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32364272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com