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

macro StringValuePtr

char * StringValuePtr(VALUE val) [MACRO]

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

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