Ruby 2.6.0 リファレンスマニュアル > 関数一覧 > StringValuePtr

macro StringValuePtr

char * StringValuePtr(VALUE val)

val が String でなければ to_str メソッドを使って String に変換し、 その実体のポインタを返します。

このマクロに渡した VALUE は ruby の GC から確実に保護されます。