C文字列を、Pascal 文字列に変換

最初、unsigned char hoge[256]の hoge[1]以降に、文字列をコピーして、hoge[0]に、文字数を入れて、SetMenuItemText() に渡してましたが、これだとだめみたいですね。(^^;;


コンパイラによっては、そのままスルーされるんですが、gcc4.0以降だと、errorで怒られます。(汗)


C文字列関数は、ほとんど、char 宣言されているので、unsigned char と、charの変換はだめというエラーになりました。


それから、C文字列→Pascal文字列の変換は、ちゃんと C2Pstrという関数を使わないと行けないそうです。
ただし、この関数は、ただ単に、C文字列を、一文字後ろにずらして、先頭に文字数を代入しているだけなので、渡す文字列は、書き換え可能な文字列でないといけませんが。。

ややこしいなぁ。。( ´∀`)


ともあれ、ようやく、Intel Macでも、コンパイル&リンクまで行きました。(^^;