私はC#コードで(安全でないセクションで)char *を扱っています。 C#からstrlen関数を呼び出す方法はありますか?ヌルターミネータを検索するカスタムstrlen関数を書く必要があることは、常識に反するものです。 C#または私がアクセスできる同様のメソッドからstrlenを呼び出す方法はありませんか?C#でchar *を扱う(strlen関数?)
大きな図では、char *を文字列オブジェクトに変換しようとしていますが、文字はANSCII形式です。したがって、.NET Encoding.Convert名前空間を使用して変換します。しかし、私はそれをする前に文字列の長さを知る必要があります。
@dlev私はScintilla環境からこのchar *を取得しているので、私はそれを制御できません。私は長さを直接得ることはありませんが、私はいくつかの他のものからそれを計算することができます。私はちょうどあなたがchar *を扱えるようにするならば、C#でstrlenに相当する処理をする方法がなければならないと考えました。私はこのことを考えるのが初めてではないことを知っています。 – Ian
'char'は2バイト幅です。したがって、' char * 'がシングルバイトデータを指している場合は、ヌルターミネータがまったく見つからないことがあります。 – phoog