在 C# 中处理 char*(strlen 函数?)
Handling char* in C# (strlen function?)
我正在处理 C# 代码中的字符*(在不安全的部分)。有没有办法从 C# 调用 strlen 函数。必须编写自定义 strlen 函数来搜索空终止符违背所有常识。有没有办法从 C# 或我有权访问的类似方法调用 strlen?
从大局来看,我正在尝试将 char* 转换为字符串对象,但字符采用 ANSCII 格式,因此我将使用 .NET Encoding.Convert 命名空间来转换它。但是在执行此操作之前,我需要知道字符串的长度。
Marshal.PtrToStringAnsi()
完全符合您的需求:
分配一个托管字符串,并将所有字符复制到第一个 存储在非托管内存中的字符串中的 null 字符。
顺便说一下,该方法在指针上调用lstrlenA
,这实际上只是从kernel32.dll
导入。换句话说,似乎没有可用的托管"获取此非托管字符串的长度"方法。
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 无法执行内部函数 strlen
- 恒定字符阵列的获取字符串长度函数(strlen)不是恒定表达式
- 无法解析函数'strlen' - Eclipse cpp
- 带有 #include< iostream.h> 的程序允许使用 strlen() 等字符串函数。为什么?
- 我必须编写一段代码,基本上执行c++中的strlen()函数,哪里出了问题
- strlen函数与循环不兼容,循环变量不兼容
- 如何使用strlen函数获取字符串的长度
- 在 C# 中处理 char*(strlen 函数?)
- C++函数通过strlen()运行'string'类型参数,将新值保存到虚拟类实例,将虚拟类传递给新函数。为什么?
- 为什么函数"strlen"不能像这样修改"ch1"的长度?
- 创建我自己的strlen和子字符串函数
- strlen函数总是返回0