Wczytywanie napisów i liczb nie oddzielonych białymi znakami

0

Mam napisać program, który jako plik wejściowy ma ciąg znaków np: NAZWA_KOMENDY 3678NAZWA_KOLEJNEJ_KOMENDY 23
miedzy nazwą komendy, a liczbą będącą parametrem funkcji mam spację. Niestety spacji nie mam pomiędzy liczbą a nazwą kolejnej komendy. Scanf czyta do spacji. Czy jest możliwość to jakoś ładnie rozwiązać, żeby czytało mi napis liczbę, napis liczbę i tak do EOF?

char komenda[16];
unsigned int parametr;
scanf("%s", tablica);
scanf("%o", parametr);
/*tu wykonuje odpowiednia funkcje*/
scanf("%s", tablica);
scanf("%o", parametr);
0

no to chyba nie ma wyjscia i trzeba zrobić na int c = getchar(); a potem sprawdzić czy to już EOF czy liczba isdigit( int char) czy spacja isspace no. i zrobione.

3

Poczytaj o scanf. Jeśli przekażesz np. "%d", to scanf omija białe znaki, czyta cyfry i jak odczytany znak nie jest cyfrą, to zostawia pozostały tekst w buforze. Czyli np.

char tab1[128], tab2[128];
int i1, i2;
scanf("%s%d%s%d", tab1, &i1, tab2, &i2);
0

Dziękuję serdecznie. O to chodziło

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