c# - 在 c# 中创建一个与 linux 兼容的 wchar_t* 字符串作为 char*
问题描述
假设我在 c# (.NET Core) 中定义了一个结构
public struct PARAMS
{
public unsafe char* pFileName;
[...]
}
和一个 C++ 结构
typedef struct
{
wchar_t* pwchFileName;
} PARAMS
给定一个 .NET 字符串,如何在 C# 中创建正确的数据结构?struct是一个P/Invoke的参数,目标操作系统是64位Linux。我无法更改任何结构或 api。从我到目前为止的研究来看,windows 和 linux 之间可能存在差异(utf-16 与 utf-32)?
解决方案
推荐阅读
- nsis - 如何删除启动文件本身test.exe?
- python - python - 如何通过文件名中的内容匹配文件
- regex - 如何使用某些keyword_a但没有keyword_b搜索git log?
- vue.js - NUXT 将对象数据传递到带有路径的页面中
- php - 如何在 laravel 5.5 中使用分页符 dompdf
- javascript - 为什么我的 checkColor 函数没有运行?
- python-3.x - 使用 __icontains 和小写查询的区别?
- ios - HStack 的泛型是什么?
- sql - 计算具有真值的列数,然后将其除以总列数
- java - 组件需要一个名为 'org.springframework.boot.test.context.ImportsContextCustomizer$ImportsConfiguration' 的 bean