Я написал небольшую программу на C, которая принимает 3 целых числа в качестве аргументов. Если я бегу это так: myapp 1 2 3
проходит нормально, argc
показывает правильно 4, но если я делаю: echo 1 2 3 | myapp
, ARGC показывает только 1.Передача нескольких аргументов программе C
Соответствующая часть кода C является:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
printf("Entered: %i\n", argc);
if (argc < 4)
{
printf("You must enter 3 integers as command line arguments!\n");
exit(1);
}
}
Что это неправильно?
Да, я устал, я забывал xargs ... Ой! :) Я согласен, что вы ответите как можно скорее. – Frantique