[C++] 304 FLTK : ChatGPTアプリの製作 その33 Finderの異常表示原因判明

[M1 Mac, Monterey 12.6.3, clang 13.0.0, FLTK 1.3.8, ChatGPT API(gpt-3.5-turbo), NO IDE]

前回の続きです。

Finderのファイル名に?が紛れ込む原因は改行コードの混入でした。

Commander Oneでファイル情報を見てみるとファイル名のところに改行が入っていました。

ChatGPTアプリで返信された回答をGUIに表示する際、コピペがしやすいように文末に改行コードを追加したことが原因でした。

Finderを悪者扱いしてしまい反省です。ChatGPTからも特殊文字が混ざっているとその部分は?になるという指摘がありましたが、正にその通りでした。ファイル名をユニコードU+16進数(U+XXXX)表記させればすぐに分かっていたでしょう。

ただCommander Oneのinfoでようやく分かったように、Finderの方でも改行コードが何らかの形で反映されるように改良していただきたいものです。

この件は解決した一方、.DS_Storeファイルによるmake妨害の件については現在とある検証を実施中です。妨害回避に成功したら報告します。

Commander Oneのinfo : ファイル名が.jsonの手前で改行されている
// 最新回答contentをoutputに表示
Fl_Text_Buffer* buffer = new Fl_Text_Buffer();
output -> buffer(buffer);
buffer -> append(content0.c_str());
buffer -> append("\n");             // ここが余計だった
output -> wrap_mode(Fl_Text_Display::WRAP_AT_BOUNDS, 5);

[C++] 303 FLTK : ChatGPTアプリの製作 その32 Finderの不具合発覚?

[M1 Mac, Monterey 12.6.3, clang 13.0.0, FLTK 1.3.8, ChatGPT API(gpt-3.5-turbo), NO IDE]

ChatGPTアプリでファイル名を色々加工していると?や^Jのような意図しない文字列が紛れ込むようになりました。

C++はUTF-8の扱いが苦手なのでまたかと思いつつコードを修正したものの、どうやっても直りません。

どうやらFinderの不具合のようです。バグまみれだとは思っていましたが、まさかここまでひどいとは。

普段からSpotlight用の.DS_Storeファイルにmakeコマンドの邪魔をされていることも併せてさすがに腹が立ちました。一応ChatGPTを通して弁明を聞いておきました。

ファイル名の最後に?が付くようになった
Commander Oneでは正常に表示される
ChatGPTの意見