使C#.NET中的IntPtr指向字符串值

2024-01-06

我正在使用一个类StringHandle字段是一个IntPtr代表一个值LPCWSTR在C++中。

internal IntPtr StringHandle; // LPCWSTR

现在说我有一个字符串:string x = "abcdefg"

如何使用字符串句柄指向字符串的开头,使其类似于 C++ LPCWSTR ?


您需要先将字符串复制到非托管内存,然后获取IntPtr从那个位置。你可以这样做:

IntPtr strPtr = Marshal.StringToHGlobalUni(x);

另外,您需要确保释放非托管内存:

Marshal.FreeHGlobal(strPtr);

最好在尝试/最后完成所有这一切。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使C#.NET中的IntPtr指向字符串值 的相关文章

随机推荐

  • 通过 PHP 从内容配置中提取文件名

    我需要一个正则表达式从以下字符串中提取文件名 包括文件扩展名 attachment filename UTF 8 test rar 或者像这样 attachment filename UTF 8 Epost 20 test part01 r
  • Apollo / GraphQl - 类型必须是输入类型

    向大家致以我正在学习的过程 并将 Apollo 和 graphQL 集成到我的一个项目中 到目前为止一切顺利 但现在我正在尝试进行一些突变 并且在输入类型和查询类型方面遇到了困难 我觉得事情比应有的复杂得多 因此我正在寻求有关如何处理我的情
  • 用宏连接字符串[重复]

    这个问题在这里已经有答案了 可能的重复 C语言中连接两个字符串的宏 https stackoverflow com questions 2191316 macro for concatenating two strings in c 如何用
  • MSAccess 2010 VBA 打开只读数据库

    我有一个 MS Access 数据库 我试图将存档数据从位于只读文件夹中的另一个 MS Access 数据库中提取出来 所以 Dim aidbx As DAO Database Dim stDB as STring stDB path to
  • Java / JPA 程序员的 Oracle 将空字符串视为 NULL 问题

    如何处理 Oracle 在数据库中将空字符串存储为 null 的情况 我希望它存储为空字符串 因为它不是 NULL 因为发出查询会更容易 像这样的事情会选择空字符串和非空字符串 但不会选择空值 select from mytable whe
  • 如何读取gcs存储桶中的文件内容

    我想打印 GCS 存储桶中文件中存在的数据 根据我的要求 文件不应下载到本地系统 但代码应直接从 gcs 存储桶本身读取代码 由于我的文件大小很大 我不希望将文件下载到本地系统 下面是我正在尝试的代码 但我没有得到预期的输出 import
  • 来自 CMake 的 Nuget 包

    我正在使用 CMake 生成 C WPF 项目 我遵循了这个 CMakeLists txtexample https github com bemehiser cmake csharp wpf example blob master Exa
  • 使用 subprocess.run 在 Windows 上运行进程

    我希望通过 Python 运行以下非常冗长的 shell 命令 C Users Alex Desktop tableexporter WGTableExporter exe E Steam Games Installed Directly
  • python'float'对象不能被解释为整数

    import numpy as np def romberg f l val np zeros l for i in range 0 l h 2 1 i N 2 h val i trapez f h N return val def tra
  • 高图表中的不连续数据集

    这是我尝试加载的两种类型的数据集 根据下拉组合还有更多类型的数据集 这些是 14 天的数据集 也是 14 24 小时的每小时级别 这两种类型的数据集是 1 连续 7 8 2014 0 00 9442 7 9 2014 0 00 8492 7
  • 从 data.frame 中采样,同时控制比例 [分层采样]

    我有以下数据集 id1 lt c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 status lt c 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2
  • Playwright 框架:有没有一种方法可以在 playwright 中执行依赖测试?

    Playwright 框架 有没有一种方法可以在 playwright 中执行依赖测试 例如 我们使用 TestNg 注释的 取决于 方法 或在 Selenium Webdriver 中使用 Priority 注释 我有一个依赖于其他测试用
  • 如何在 Mac OSX 下使用 gcc 设置可执行文件的运行时路径(-rpath)?

    我想在 Mac OSX 下在编译时设置可执行文件 对于链接器 的运行时路径 以便动态链接器在程序启动时找到非标准位置的共享库 在 Linux 下 这可以通过 Xlinker rpath Xlinker path to 或使用 Wl rpat
  • Ember.js 中的自嵌套无限路由

    我想用 Ember js 制作一种目录结构 以下是 url 的示例 folder 1 folder 44 document 3 正如您所看到的 一个文件夹中可以包含多个文件夹 但也可以包含文档 我想知道我应该如何在路由器中处理类似的事情 因
  • Jenkins 中的 SVN 身份验证错误

    我开始了一个项目 我必须使用外部 svn 我在代理下 当我将 url 放入配置项目中时 Jenkins 无法访问存储库 因此我填写了凭据 存储库 url 用户名和密码 但出现错误 FAILED svn E175002 OPTIONS tru
  • 如何在 Java 中将 ArrayList 列表写入 CSV 格式

    我有以下格式的数据 List
  • 失败时终止管道中的下一个命令

    我有一个流备份脚本 运行如下 backup script sh aws s3 cp s3 bucket path to backup The aws命令以原子方式将 stdin 流式传输到云存储 如果进程在没有 EOF 的情况下中断 则上传
  • WebElement.getText() 函数和 utf8

    我可以假设对于每个网页WebElement getText 函数确实返回 utf8 字符串 还是可以有其他编码 如果可能有其他编码 我如何识别它并将其转换为utf8 我不知道没有一种好的方法 也许如果你喜欢反射 你可以破解并重写 来执行 g
  • 升级到rails 5.2后如何获取rails master.key

    因此 我将正在开发的应用程序升级到了 Rails 5 2 但它在 Heroku 上崩溃了 我认为这是因为我的 config 文件夹中没有 master key 文件 我仍然有以前的 Rails 版本的 Secrets yml 文件 我需要做
  • 使C#.NET中的IntPtr指向字符串值

    我正在使用一个类StringHandle字段是一个IntPtr代表一个值LPCWSTR在C 中 internal IntPtr StringHandle LPCWSTR 现在说我有一个字符串 string x abcdefg 如何使用字符串