Можно создать дубликат:
Parse string into argv/argcC - Разбор командной строки с неизвестным количеством параметров
Я пытаюсь написать поддельную оболочку, используя C, так что мне нужно быть в состоянии взять команду, а затем x количество аргументов для команды. Когда я фактически запускаю команду, я просто использую execvp(), поэтому мне просто нужно проанализировать аргументы в массиве. Но я не был уверен, как это сделать, не зная точного числа. Я думал что-то в псевдокоде вроде:
while (current char in command line != '\n')
if current char is a space, increment a counter
parse characters in command line until first space and save into a command variable
for number of spaces
while next char in command line != a space
parse chars into a string in an array of all of the arguments
Любые предложения о том, как поместить это в код?
Это, кажется, так же, как [ Разбор строки в ARGV/ARGC ] (http://stackoverflow.com/questions/ 1706551 /). В частности, см. Ответ [GLib] (http://stackoverflow.com/questions/1706551/parse-string-into-argv-argc/1706610#1706610). –