![見出し画像](https://assets.st-note.com/production/uploads/images/103927147/rectangle_large_type_2_b4efd7d86d5188d5b162f7f5bf928c92.png?width=1200)
【Console Application】ファイルとデータベース 285【学習記】
今回の概略
C/C++ の系譜は main 関数固定でクラスの中に云々という手法は存在しないため「実行中の自分のクラス」という概念が無いから名前が取れない😞
C/C++ の系譜なら argv[0] で実行パスが取れるのでファイル名から名前を取り出せるが実行者の都合で改名されてしまい確実ではなくなる😑
OC なら xcodeproje 内の情報を取得できれば良いが plist が有る前提で書かれている記事ばかりで情報を埋め込む方法が出てこない😭
【Console Application】ファイルとデータベース【学習記】
仕様
https://note.com/sayka/n/nb8a67fa90a64?magazine_key=m7bb64c6a359f#br1mB
仕様
レコード
・レベル
1-12
・難易度
b,n,h,a,l
・曲名
・ランプ
-,x,a,e,c,h,e,f
オプションスイッチ
-u file.csv # 更新(略値)
ファイル名だけ指定した場合更新処理と見做す
-d file.csv # 削除
-p # csv 出力(略値)
何も指定せずに起動した場合出力処理と見做す
-v # バージョン
-h # ヘルプ
----備忘録
(現在無し)
前回の粗筋
AnalyzeArgs を StrArray 使うように直したら結構平和になった🤤
main
![](https://assets.st-note.com/img/1682458785036-aYt77qsbjC.jpg)
![](https://assets.st-note.com/img/1682458796660-AD2VF9My6J.jpg)
ああああ😭
AnalyzeArgs や OptSw 周り片付いたしオプション毎の分岐書いて終わりだと思ってたけどこれが有るの忘れてたぁぁぁぁ😱
まぁ、 C/C++ の場合は argv[0] 見れば実行パス得られるからファイル名を取る事は一応できるのよね😑
それは最終手段として…🙄
まず OC としてそういうのが無いものか確認するぽ🤤
もしかしたらプロジェクト情報を取得できる可能性が無きにしもあらず🤔
プログラム内から Info.plist の内容を参照する
https://ez-net.jp/article/0E/amSN4FRE/aqZwZ03653CR/
これは app の話😞
app は中を見ると色々ファイルがあってその中に info.plist も有るのでそれを見る、という手法😑
しかしだね、コマンドラインはその app 内にある本体のバイナリのみしか出ない状態のシロモノなわけよ…つまりコレジャナイ😞
………
PROJECT_NAME で探すと無くはないけどどれもコンソールコマンド中の「環境変数」としてしか扱いが出てこない…😞
_人人人人人人人_
> 出てこない <
 ̄Y^Y^Y^Y^Y^ ̄
方法は有ると思うけどもう Swift が出て随分経ってるので古の言語となりつつあるからか見つからないお😭
Swift 出る前なら一杯有ったんだろうけど…😞
![](https://assets.st-note.com/img/1682458815901-1olnVvQP5h.jpg)
諦めて直の文字列🙄
次回は
今度こそ平和な筈…🙄