プログラムを書くことで始めたブログ、最近思ったのですが、
『 全くプログラム書いてなくね!? 』
と思ったので、iPhoneアプリプログラムの中で学んだことを書いていこうと思う。
-------------------------------------------------
【 (第一回)ファイル操作 】
この度、私めは
『 【 objective-C 】なんてやってられっかボケェぇええ!!! 』
となったので 【 c++ 】言語で書くことに致しました。
c++で書いてもおk。 objective-C も基本は c++ だから(´∀`)
で、順調に開発して言ったのですが、
『 あれ?
テキストファイルってどういうふうに開くんだ・・・? (・・? 』
と疑問に思ったのですが、
とりあえず 【 Resourcesフォルダ 】にテキストファイルを置いて、
C言語の名残で【 fopen関数 】 を使ってやってみました。
すると、
『 開けて読み込みはできるのだが、
書き込みができない! ((((;゚Д゚))))ガクブル 』
なぜだぁああ!! グワァァアア! となっていたのですが、
● インターネットで調べたらいいじゃない!
と思い、検索・・・カタカタ
iPhoneアプリ開発の参考出来るサイトってまだまだ少ないので、【調べる】って行為を忘れてました。(∀`*ゞ)
で、調べてわかったことを書いていこうと思う。
===========================================
【 ファイルのフルパスを取得する 】
これがなければなんにもできません。
むしろコレさえあればなんでもできます。
フルパスがiPhoneによって違うので、フルパスは毎回取らないといけない。
[ /Users/ユーザー名/Library/Application Support ・・・・ ] みたいに糞長い。( ´Д`)
フルパス取るためには【 objective-C 】さんの力を借りなければならないので、
ここは 【 c++ 】 と 【 objective-C 】 の混合になります。
c++で書いているところに objectiv-C の関数等を書くためには
● 【 ~.cpp ファイルの名前を ~.mm に変えるだけ 】
そしたら objective-Cの関数が使えるようになります。
もちろん書き方は C++ でおk(´∀`)
ここだけは便利だなぁ・・ と思った。
別に ~.mm にしたからってデメリットはない と思われ・・・
むしろ objective-C が使えるから全部そうしてもいいくらいだと思う。
ここらへんは良く解らん!('A`)
で、とりあえず
=============================================================
=============================================================
で、ドキュメントの "point.txt" ファイルのフルパスが取れる。
point.txt って名前なのは、俺がポイント管理をテキストファイルにしていたから。(/ω\)
で、
後はいつも通り fopen で開くだけ!
このとき、 ファイルパスは【 NSString型 】になっているので、
【 const char*型 】に変えてやらなければいけない。
それが ↓のやり方で
=============================================================
=============================================================
【 UTF8String 】 を入れてやる。 これでおk
UTF8 というのは Unicode、 8bit の文字ということでいいんだろうか・・
深くは考えまい・・( `ハ´) めんどくさいから
で、ファイルを開こうと思ったとき、ふと
● 『 "point.txt" ファイル、どこに置いたらいいんだ!?( ゚д゚)! 』 って思った。
『 Resources ではないだろうし・・・
かつ、Documents ってどこだよ・・・(´ε`;)? 』
ってなったのですが、時間が本当になくて、調べるのも嫌だったので
強硬手段に出る事に・・
『 ないのなら、作ればいいじゃん!━(゚∀゚)━! 』
=============================================================
=============================================================
・・・・
はい、これじゃあ何にも解決してないとは思ってますが・・・すいませんm(__)m
で・できれば( `д´)b オッケー!!!!
=============================================================
=============================================================
ぐちゃぐちゃですいません・・・
10個読み書きしておきながら、5個しか表示してないっていうね。( ;∀;)
でも、本当にどこに生成されるんだろう・・・
今は簡単な保存しかしてないからいいものの、
テキストファイルからかなりのものを書きこむってなった時は・・・ ((((;゚Д゚))))ガクガクブルブル
とりあえず、これで【簡単な】読み込みも書き込みもできます!
俺はこれで限界です。。。
また必要になったとき真剣に調べてみる。。。(´・ω・`)
今現在は
c++に戻って、DirectXやってます。
やっぱり VisualStdio やりやすいぃぃぃいいいいい!!
mac なんて・・・!(´Д⊂ヽ