Zmienna liczba parametrów w scanf

Zmienna liczba parametrów w scanf
MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
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ć ?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

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

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

użyj scanf w pętli.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
1

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

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.