我想在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