4

私はプログラミングを始めたばかりで、K&R を使って C を学ぼうとしています。コマンド ライン引数 (5.10) のセクションにたどり着きましたが、今は困惑しています。コマンド ライン引数を指定して記述したプログラムを開こうとするたびに、ファイル X (X は引数) が存在しないと言われます。

`gcc -o find find.c

検索テストを開く

ファイル /Documents/Learning_C/test が存在しません。

助言がありますか?ありがとう

4

3 に答える 3

3

どのシステムを使用していますか? Unix/Linux では、次の方法で実行可能ファイルをコンパイルして実行します。

gcc -o find find.c
./find test

他の人が指摘しているように、バイナリの前に「./」を付けると、名前の競合は発生しません。ただし、 でfindアクセス可能にした場合、ほとんどの *nix ディストリビューションの標準プログラムであるfindおよびtest$PATHと競合する可能性があります...おそらく、より具体的な名前を選択できます (つまり./myFind testArg ) 。

于 2009-08-01T17:22:07.917 に答える
1

出力実行可能ファイルに別の名前を付けてみてください。

「test」というディレクトリを探しているシステム検索コマンドを実行していると思われます。

または、実行して強制してみてください

./find toto

編集:コマンドの先頭に ./ を追加することは重要です。これは、PATH に存在する最初の「検索」ではなく、現在のディレクトリで検索を実行するようにシェルに指示するためです。通常は持たないことをお勧めします。セキュリティ上の理由から、PATH に (現在のディレクトリ) を追加します。

HTH

PS K&R を使って作業するための良いことを言うのを忘れていました。私は 30 年間 C で働いていたのと同じことを終えたばかりで、戻ってきて心をリフレッシュできてよかったです!

于 2009-08-01T17:23:26.293 に答える
0

何が間違っているのかを私たち全員に個別に推測させるのではなく、上記の図に使用しているプログラムを貼り付ける必要がありますか?

于 2009-08-01T22:14:09.763 に答える