私はCでプログラムをコーディングしています。私はそれ自身の名前を検出したいと思います。私は説明します:gccでコンパイルした後に実行ファイルの名前を取得する方法は?
名前に応じて特定のアクションを実行します。さんが言ってみましょう:
if (!strcmp(myName, "Program1"))
printf("I am program 1!");
else
printf("I am someone else !");
このコードはProgram1.cに含まれている、としてコンパイルされています
gcc Program1.c -o Program1
そして私はそれを実行したい:
./Program1
しかし、私は私が与えたコードの変数myNameとなる値 "Program1"(実行可能ファイルの名前)を得ることができるコードを見つけることができません。
誰かが私を助けてくれますか?
まず、Cでは、文字列を 'myName ==" Program1 "'と比較することはできません。しかし 'main'では実行可能な名前である' argv [0] 'をチェックすることができます。 –
申し訳ありませんが、私は疲れていました。私が欲しかったものを作りたいと思っていましたが、確かに間違っています。ご回答有難うございます! – Alan
MSVC 'argv [0]'には、コンソールで入力したもの、例えば 'test.exe'や' .. \ ctest \ test'などがあり、GUIから実行すると 'F:\ Work \ CTEST \ test.exe'を実行します。だからあなたの名前のマッチングは、慎重にする必要があります;) –