.txtファイルに書き込むプログラムを作成していますが、別の関数を使用して、ファイルを視覚的に(デフォルトのテキストエディターで)開きたいと考えています。
ファイルをダブルクリックするのと同じように機能させたい...
コードで編集するためだけにファイルを開くのではなく(ではなくfopen()
)、実際には別のウィンドウでファイルを表示します!
可能であればクロスプラットフォーム。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
system("exec programname filename");
return 0;
}
これは Linux で動作します。ただし、どのエディターがデフォルトであるかを確認してそれを開く方法はよくわかりません。
この架空の関数をWindowsのCでプログラミングしている場合は、次のようなことができます。
system ("notepad myfile.txt");
このクロスプラットフォームを実行する方法はありません。
ユーザーがファイルをダブルクリックすると、OSが引き継ぎ、どのアプリケーションがファイルタイプに関連付けられているかを確認します。これはOS固有のアクティビティであるため、OSごとに実装が異なります。
これを行うには、システムコールで起動するアプリケーションをOSに照会する必要があります。ただし、これはOS固有です。