Frage

Ich fange gerade Programmierung und gehen durch K & R, um zu versuchen und zu lernen, C. Ich habe auf Befehlszeilenargumente auf den Abschnitt bekommen (5,10), aber jetzt bin ich ratlos. Jedes Mal, wenn ich versuchen, ein Programm öffne ich mit Kommandozeilenargumenten geschrieben habe ich gesagt, dass Akte X, X das Argument ist, existiert nicht.

gcc -o finden find.c

open find Test

Die Datei / Dokumente / Learning_C / test exist.` nicht

Irgendwelche Vorschläge? Dank

War es hilfreich?

Lösung

Welches System sind Sie? In Unix / Linux kompilieren und führen Sie Ihre ausführbare Datei über:

gcc -o find find.c
./find test

Wie andere haben darauf hingewiesen , wenn Sie Ihre Binärdatei mit „./“ prefix es würde nicht alle Namenskonflikte sein. Wenn Sie jedoch find zugänglich in Ihrem $PATH gemacht, könnte man einige Konflikte mit finden und Test --standard Programme mit den meisten * nix Distributionen ... Vielleicht könnten Sie spezifischere Namen wählen (dh ./ myFind testArg )

Andere Tipps

Versuchen Sie, Ihre Ausgabe einen anderen Namen ausführbar zu geben.

Ich vermute, dass Ihr das System finden Befehl ausgeführt wird, die für ein Verzeichnis sucht namens ‚Test‘.

oder versuchen, es zu zwingen durch Ausführen

./find toto

Edit: die ./ auf den Befehl Voranstellen ist wichtig, weil es den Shell teilt den Fund im aktuellen Verzeichnis auszuführen, wie mit dem ersten ‚finden‘ im Gegensatz, die in Ihrem Pfad vorhanden ist. Es wird in der Regel empfohlen, dass Sie nicht haben. (Das aktuelle Verzeichnis) in Ihrer PATH aus Sicherheitsgründen.

HTH

P. S. Vergessen gut zu sagen, für durch K & R arbeiten. Ich habe gerade das gleiche zu tun, nachdem sie 30 Jahre in C arbeiten und es war gut, wieder zu bekommen und den Geist erfrischen!

Statt uns machen alle individuell erraten, was genau falsch Sie tun, vielleicht sollten Sie das Programm einfügen Sie für die Illustration erwähnt verwenden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top