gpt4 book ai didi

检查字符串是否包含另一个 C

转载 作者:行者123 更新时间:2023-11-30 18:01:42 26 4
gpt4 key购买 nike

现在我有了这段代码,但它总是设置为 null

UNICODE_STRING str;
char *cmp = "Hello";

RtlInitUnicodeString (&str, L"Hello world!");

if( ( strstr((char * )str.Buffer, cmp) ) != NULL)
{
// cmp founded in str.
}
else
{
// cmp not founded in str. Always here, but why??
}

你能解释一下为什么在我的例子中 strstr 总是 null 吗?

最佳答案

您正在 Unicode 字符串中搜索多字节字符串。使用wcsstr:

wchar * cmp = L"Hello";
wcsstr(str.Buffer, cmp);

您通过转换为 char * 来隐藏此内容。

<小时/>

您确实应该针对第二个请求提出另一个问题,但您可以编写如下函数:

void make_string_lower(WCHAR * str)
{
while(str[0] != '\0') {
if(iswalpha(str[0] && !iswlower(str[0]))) {
str[0] = towlower(str[0]);
}

str++;
}
}

或者使用_wcslwr

关于检查字符串是否包含另一个 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9656245/

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