Вопрос

Я только начинаю программировать и прохожу K & R, чтобы попытаться выучить C.Я добрался до раздела "Аргументы командной строки" (5.10), но теперь я в тупике.Каждый раз, когда я пытаюсь открыть программу, которую я написал, с аргументами командной строки, мне говорят, что файл X, аргументом которого является X, не существует.

`gcc -o найти find.c

открыть поиск теста

Файл /Documents/Learning_C/test не существует.`

Есть какие-нибудь предложения?Спасибо

Это было полезно?

Решение

В какой системе вы работаете? В Unix / Linux вы компилируете & amp; запустите ваш исполняемый файл через:

gcc -o find find.c
./find test

Как отмечали другие , при добавлении префикса к двоичному файлу " ./ " ;, не будет никаких конфликтов имен. Однако, если вы сделали find доступным в $ PATH , у вас могут возникнуть конфликты с find и тестировать - стандартные программы с большинством * nix-дистрибутивов ... Может быть, вы могли бы выбрать более конкретные имена (например, ./ myFind testArg )

Другие советы

Попробуйте присвоить вашему выходному исполняемому файлу другое имя.

Я подозреваю, что вы выполняете команду system find, которая ищет каталог с именем 'test'.

Или попробуйте принудительно выполнить это, выполнив

./find toto

Редактировать: Добавление ./ к команде важно, потому что оно сообщает командной оболочке выполнить поиск в текущем каталоге, в отличие от первого "find", который существует в вашем PATH.Обычно рекомендуется, чтобы у вас их не было.(текущий каталог) в вашем PATH по соображениям безопасности.

HTH

P.S.Забыл сказать, что это хорошо для работы через K & R.Я только что закончил делать то же самое, проработав в C тридцать лет, и было приятно вернуться и освежить память!

Вместо того, чтобы заставлять нас всех догадываться, что именно вы делаете неправильно, возможно, вам следует вставить программу, которую вы используете для упомянутой иллюстрации?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top