Zmienna liczba parametrów w scanf

Odpowiedz Nowy wątek
2011-08-05 00:59
0

Witam,
Chcę napisać program który będzie działał w zależności od ilości wczytanych parametrów, czyli wczytujemy w lini np:
"a\n", lub "a 10\n", lub "b 10 20\n" - czyli na początku jest zawsze char a potem zmienna ilość liczb.

scanf ("%c %d %d",&x, &y, &z);

w momencie podania mniej niż 3 parametrów (w tym przypadku) czeka na kolejne. Czy da się to jakoś prosto rozwiązać ?

edytowany 2x, ostatnio: madmike, 2011-08-05 08:50

Pozostało 580 znaków

2011-08-05 08:48
0

A skąd program ma wiedzieć czy już podałeś wszystkie liczby czy jeszcze ma czekać? Ma sobie wywrózyć? Ma być timeout?


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.

Pozostało 580 znaków

2011-08-05 09:06
0

użyj scanf w pętli.

Pozostało 580 znaków

2011-08-05 09:46

Zapewne chodzi ci o coś takiego (wczytanie jedynie całej linii):

char buff[257];
if (gets(buff)) {
     int ileWartosciWczytano = sscanf(buff, "%c %d %d",&x, &y, &z);
}

Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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