как получить аргументы командной строки в работающем терминальном приложении - PullRequest
1 голос
/ 21 сентября 2011

В MAC OS я создал терминальное приложение через цель C, которая получает аргумент командной строки при запуске через основную функцию.

Теперь мне нужно получить дополнительные входные данные во время выполнения.Так как их получить во время выполнения?

[[NSRunLoop mainRunLoop] run]

помогает в достижении этой цели?

1 Ответ

0 голосов
/ 21 мая 2013

Как отметил Феликс Сапарелли, вы не говорите о получении «аргументов командной строки» в смысле аргументов, передаваемых вашей программе в командной строке, например, thisfile в такой команде, как cat thisfile,вы говорите о том, чтобы ваша программа принимала команды или, по крайней мере, принимала ввод с терминала, поэтому, по его словам, вам нужно читать со стандартного ввода.

NSRunLoop сам по себе этого не сделает.Вы можете просто рассматривать вашу программу как обычную программу UN * X, которая, как оказалось, написана на Objective-C, либо с использованием стандартных подпрограмм библиотеки C, таких как, например, fgets(), или базовых классов, таких как NSString, при условии, чтоМетод NSString stringWithContentsOfFile не делает ничего бесполезного, например, пытается прочитать весь файл и использовать его как строку, потому что «читать весь файл» обычно бесполезнопри чтении стандартного ввода (он не будет читать строку за раз, он будет продолжать читать, пока вы не введете control-D).

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