gpt4 book ai didi

c++ - 如何从 C++ 中的 PWSTR 中提取子字符串

转载 作者:可可西里 更新时间:2023-11-01 11:20:45 26 4
gpt4 key购买 nike

我目前正在使用 C++ 修改 Windows 7 的凭据提供程序。 Windows SDK 需要使用 PWSTR。

我遇到了一个问题,用户名有时作为 DOMAIN\username 传递,有时作为 domain.tld\username 传递,有时只是用户名。我想做的是从中提取用户名,只取斜杠后的子字符串。

我是 C++ 的新手,没有一个字符串函数似乎可以与 PWSTR 一起使用。我已经尝试了几次到 wchar_t* 的转换,但仍然没有任何效果。

如何实现?

TIA

最佳答案

你可以这样做:

PWSTR GetUserName(PWSTR pszUser)
{
PWSTR pszLastSlash = wcsrchr(pszUser, L'\\');
return pszLastSlash ? pszLastSlash + 1 : pszUser;
}

请注意,这不会进行单独的内存分配 - 您返回的是指向字符串中最后一个斜线之后开始的部分的指针。如果您要执行正确的“子字符串”操作,就像您可能会在更高级别的对象中看到的那样(而不是仅仅采用 len - i 从偏移量 i 开始),您会必须复制一份(或以某种方式跟踪您只考虑更小的长度)。

关于c++ - 如何从 C++ 中的 PWSTR 中提取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11587546/

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