我想在C#.Net中存储字符串对象到char *
,我该如何实现?指定字符串指向字符指针
我的功能是
xyz(char *c)
{
}
我想这个字符串作为参数传递给这个函数:
string s = "Hello"
我使用不安全的代码在C#。
我想在C#.Net中存储字符串对象到char *
,我该如何实现?指定字符串指向字符指针
我的功能是
xyz(char *c)
{
}
我想这个字符串作为参数传递给这个函数:
string s = "Hello"
我使用不安全的代码在C#。
字符串将被视为数组,并且char *将指向字符串的第一个索引,因此您可以调用您的函数为 xyz(your string); 我想它应该工作
string s = "Hello";
fixed (char* ptr = s) {
xyz(ptr);
}
注意,你真的不应该店这个指针(在一个字段等等),作为地址只会固定为fixed
块的持续时间。不过,你可以在xyz
以内使用它。
只是...很好;变异string
s很危险。
另外:如意见中指出:xyz(ptr, s.Length)
将强烈建议。
他需要传递字符串的长度吗? – Romoku 2013-03-08 13:31:45
@Romoku当然,如果他们不想让它爆炸:但是'xyz'没有这个参数。让我们希望他们添加一个:) – 2013-03-08 13:32:21
感谢您的解决方案。 – user2148535 2013-03-10 21:26:08
不需要使用不安全,如果你显示你的代码会有帮助。我不明白你为什么不这样做。 – 2013-03-10 21:56:20