wiiで開発 devKitPro の filesystem アプリが動かない - 大人の自由研究

大人の自由研究 ホーム » Wii » wiiで開発 devKitPro の filesystem アプリが動かない

wiiで開発 devKitPro の filesystem アプリが動かない

 devKitPro に付属してるwiiのサンプルアプリである、filesystem ってのが上手く動作してないようだ。
 ビルドして、wiiにもってき起動すると、ファイルと、ディレクトリの区別が付かない。


 ソース「directory.c」を見ても特におかしい部分は見つからない(涙)

 stat関数を使い、st_mode を調べてるようだが、ファイルもディレクトリも全て同じ値が返ってくる。
 ひょっとして、stat関数でエラーになってるかと思い、変更を加える。

 stat(pent->d_name,&statbuf);
  ↓
 if ((stat(pent->d_name,&statbuf)) != 0) {
   printf("stat error!!\n");
 }

 早速ビルドして実行!!

 画面には、「stat error!!」の文字が(汗)
 なんだよー、stat関数でコケてるよ

 pent->d_name には、正しくファイル名やディレクトリ名が入ってるようだ。

 色々ググってみたら、
 http://forums.devkitpro.org/viewtopic.php?f=7&t=594
 こんな書き込みを発見(英語なので、よく解らないが……)

---------------------------------------------------------
Thank You, I like that better -
And then file access actually has to be sd:/

pdir=opendir("sd:/"); // instead of "/"
---------------------------------------------------------

 sd:/ を付けろ見たいな(汗)

 pdir=opendir("/");
 ↓
 pdir=opendir("sd:/");

 に変えたけど、変わらない。
 そもそも、opendir関数は正常に終わって、ファイル名及びディレクトリ名は獲得出来てるし。

 ひょっとすると、stat関数に渡すファイル名にも「sd:/」を付けないとダメなのかぁ?
 と思って、pent->d_name の前に「sd:/」を付けて、stat関数を呼んでみた。

 なんて事でしょう!!(笑)
 stat関数も正常に終了して、st_mode にも正しい値が返ってきた!

 無事にサンプルアプリ「filesystem」が動きました。
関連記事
スポンサーサイト
コメント
非公開コメント

トラックバック

http://ukkey3.blog33.fc2.com/tb.php/200-935d65ee