[ Home | Programming Tips | Mail ]
Macintoshの Toolbox Routineで短い(255 byte以下)文字列を使う場合、Pascal文字列(先頭 1 byte文字列長 + 文字列)を parameterに持つ物が多くあります。
C/C++では '\0' terminateされた文字列や std::string classを使う方が自然なため Toolbox Routineに渡す際に Pascal文字列化する必要が出てきます。
一々 c2pstr()等を使って変換しても良いのですが結構面倒です。
char *s = "c string";
::DrawString(asPstr(s));
そこで C++の機能を使って
と書くだけで済むようにしてみました。
std::string str("c++ string");
::DrawString(asPstr(str));
Codeはこちらから落せます。
c2pascal.hqx
この Pageは MacOS X + Radio UserLand で作っています。