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?

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