Ruby 4.0 リファレンスマニュアル

macro rb_enc_str_new_literal

[edit]
VALUE rb_enc_str_new_literal(const char *str, rb_encoding *enc)

エンコーディングを指定して、C の文字列リテラルから新しい String を作成します。文字列リテラルの領域を、そのまま文字列の実体として使います。文字列リテラルしか渡せません。変数は渡せません。

返り値は読み取り専用として扱ってください。 C の文字列リテラルへの書き込みは、すぐに SEGV を起こすことがあります。

[PARAM] str:
C の文字列リテラルです。
[PARAM] enc:
str のエンコーディングです。
[RETURN]
enc のエンコーディングを持ち、実体が str である String です。