それは、パスなしで実行可能ファイルの名前を持つことは可能ですか?
-
21-09-2019 - |
質問
こんにちは、私は実行ファイルの名前と使用文字列を使用しようとしている、私はそのような目的のためではなく、それは私にそれへの完全なパスを与える自体実行可能ファイルの名前のargv[0]
を使用しています。
唯一の実行可能ファイル名を取得する方法はありますか?
解決
ただ、最後の/.
const char *exename = strrchr(argv[0], '/');
if (exename)
// skip past the last /
++exename;
else
exename = argv[0];
他のヒント
私の知る限りでは、(Linux上で、少なくとも)あなただけのchar *型から身を実行可能ファイル名を抽出する必要があります。
これを実行する最も簡単な方法は、あなたが「libgen.h」を含むことによって得ることができた、basename(argv[0])
を使用することです。
それはあなたのプラットフォーム上で利用できる場合は、関数char *basename(char *path)
があります。 ベース名の文書を参照してください。
を使用するGetModuleFileNameは http://msdn.microsoft .COM / EN-US /ライブラリ/ ms683197%28VS.85%29.aspx のハンドル付き引数= 0
ただ、パス文字列の最後の部分を使用します。 strrchr
への呼び出しのいくつかの組み合わせは、(最後のパス区切り文字を取得)し、例えばstrcpy
または類似が終了する最後のパス区切り文字から一部をコピーする
プログラムの名前は、お使いのOSによって設定されている場合は、getprogname()
を使用することができます。
所属していません StackOverflow