[ Home | Programming Tips | Mail ]

C to Pascal string


C/C++文字列から Pascal文字列へ

 Macintoshの Toolbox Routineで短い(255 byte以下)文字列を使う場合、Pascal文字列(先頭 1 byte文字列長 + 文字列)を parameterに持つ物が多くあります。
 C/C++では '\0' terminateされた文字列や std::string classを使う方が自然なため Toolbox Routineに渡す際に Pascal文字列化する必要が出てきます。

 一々 c2pstr()等を使って変換しても良いのですが結構面倒です。
 そこで C++の機能を使って

    std::string   str("c++ string");
    ::DrawString(asPstr(str));

char *s = "c string"; ::DrawString(asPstr(s));

と書くだけで済むようにしてみました。

 Codeはこちらから落せます。

c2pascal.hqx


この Pageは MacOS X + Radio UserLand で作っています。