Использование аргументов в XCode - PullRequest
0 голосов
/ 17 ноября 2009

Я пытаюсь сделать что-то похожее на этот урок http://www.cprogramming.com/tutorial/c/lesson14.html

Где я получаю заголовок файла, который нужно открыть, и количество строк этого файла, которые будут напечатаны за раз. У меня проблемы с тем, что я бы добавил в аргументы командной строки. Например, нужно ли указывать имя моей программы в аргументе командной строки?

"Assignment8_2" "testFile.rtf" "20"

Или мне нужны только последние два: "testFile.txt" "20"

Кроме того, имеет ли значение порядок в XCode при добавлении их со знаком "+". Я знаю, что порядок будет иметь значение, когда мы попытаемся получить вывод (argv 1 , argv [2] и т. Д.)

Кроме того, где я могу поместить "testFile.rtf" в мою файловую структуру? Нужно ли добавить его в мой проект? Положить его в ту же папку, что и мой исполняемый файл?

Я думаю, что делаю что-то не так, потому что в настоящее время у меня есть "testFile.txt" "5" в качестве аргументов для XCode, и при попытке распечатать argc, printf ("% d", argc) я ничего не получаю. Я также пытаюсь распечатать argv [0], argv 1 , argv [2], и получаю: Assignment8_2 (нуль) TERM_PROGRAM = Apple_terminal

1 Ответ

0 голосов
/ 17 ноября 2009

Изнутри Xcode вам нужны только последние два. Лучше всего, чтобы аргумент указывал полный путь к файлу, чтобы вы могли сделать что-то вроде $ {PROJECT_DIR} /test.rtf. Порядок имеет значение; argv [1] будет верхним аргументом, argv [2] вторым и т. д.

Из командной строки оболочка не ищет команды в вашем текущем каталоге, поэтому говорит, что команда не найдена. Просто сделай

./Assignment8_2 test.rtf 5 

Если поставить перед ./, оболочка будет искать команду в текущем каталоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...