ファイルのロード・その2

ファイルのロードと言えば、おなじみなのはC標準ライブラリの fopen, fread, fclose などですが、実はMacでも普通に使えてしまいます。というか、MacOS Xではこちらがベースだと思うので、MacOS 9のCarbonを考えないのであればこれでいいのかも。楽だし。ただし、UTF-8エンコードしたファイル名を与えなければなりません。
さきほどのCFURLRefからUTF-8のファイル名を取得するには、

char szFilename[4096];
CFURLGetFileSystemRepresentation(urlRef, true, reinterpret_cast(szFilename), 4096);

とします。バッファサイズを4096にしていることに特に理由はありません。本当は返り値を見て(boolean)エラーハンドリングをする必要があります。まー、大丈夫でしょうけど(という油断が脆弱性を生むわけですが(笑))。
その他はこのあたりを参照しましょう。
http://developer.apple.com/ja/technotes/tn2078.html
http://developer.apple.com/ja/qa/qa2001/qa1203.html

>