Przekazanie argumentów wywołania programu na standardowe wejście

0

Witam,
Piszę na zaliczenie program, kalkulator. Wpadłem na pomysł aby obsługiwał on argumenty wywołania programu, najprostszym rozwiązaniem jakie przyszło mi do głowy byłoby przekazanie tych argumentów na standardowy strumień wejścia(przy okazji dopisując argumenty ? q, aby wyświetlić wynik i zakończyć pracę programu), aby potem normalnie je z niego odczytać.
Najprostsze rozwiązanie jakie mi wpadło do głowy to:

	
if(argc>1)
	{
		for(int i=1; i<argc; i++)
		{
			fputs(stdin, "%s", argv[i]);
		}
	}

i potem w trakcie pracy programu zwyczajnie

 scanf("%s",select);

/char select[255];/

Niestety takie coś nie działa.

0

Nie działa, tzn?

PS.

fputs(stdin, "%s", argv[i]);

Chcesz coś wyświetlić na WEJŚCIU?

0

Racja:)
Nie działa to znaczy nie wpisuje tych argumentów na strumień, program działa normalnie, tak jakby nie nie było wpisane

PS.
Tak jak pisałem, chce to dodać na strumień wejścia, aby potem pobrać to z powrotem w działaniu programu, bez dodatkowych if'ów i pętli...

    t_elem *stack=NULL;
    push(&stack,0);
    char select[255];
    int number;
	if(argc>1)
	{
		for(int i=1; i<argc; i++)
		{
			fputs(stdin, "%s", argv[i]);
			printf("Dodano(?) %s \n", argv[i]); //To była próba debugowania czy czegoś w tym stylu przynajmniej
		}
	}

    while(*select!='q')
    {
        scanf("%s",select);
        switch(*select)
        {
            case '+':
...
1

Kombinujesz

if(argc>1)
        {
                for(int i=1; i<argc; i++)
                {
                        switch(argv[i])
                        {
                                 case '+':
0

czy wiesz ze możesz to zrobić przez plik:
program.exe < DaneWejsciowe.txt
lub przez rurę:
echo "moje dane wejsciowe" | program.exe

0

Tak, wiem, ale to nie rozwiązuje raczej mojego problemu :P

0

można zrobić pewną sztuczkę napisać klasę dziedziczącą po ifstream.
na początku otwierasz z plikiem w konstruktorze lun z pustym, po zakończeniu się pliku lub nieudanym otwarciu przełącza się na cin'a

1 użytkowników online, w tym zalogowanych: 0, gości: 1