Toto vlákno bylo označeno za vyřešené.
Vlákno bylo úspěšně vloženo.
Pokud sám přijdeš na řešení, nezapomeň ho sem přidat !
Ahoj,
potreboval bych ukoncit funkci scanf, kdyz po mezere nebude nasledovat dalsi cislo. Napr. tato rada:
8 25 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 26 11 11 je mensi nez velikost pole a proto scanf bude cekat na dalsi vstupy. Cela rada se bude zadavat na jednom radku.
Predem dekuji.
bool read = true;
while (read) {
if (1 == scanf("%i", &input)) {
add_counter(input);
}
else {
read = false;
}
}
gna ~ Anonymní uživatel~ 1902 příspěvků
Nebylo by to lepší naopak? Když po čísle není mezera, tak bylo poslední?
#2 gna
Ano, tak jsem to mel namysli.
gna ~ Anonymní uživatel~ 1902 příspěvků
int input;
while (scanf("%d", &input) == 1) {
add_counter(input);
if (getchar() != ' ')
break;
}
zkusil bych tohle:
int input;
char znak;
while ( scanf("%d%c", &input) ) {
add_counter(input);
}
mělo by to i přečíst CR LF, který se na konci řádku často vyskytuje.
hu
Zjistit počet nových příspěvků
Přidej příspěvek
Uživatelé prohlížející si toto vlákno Uživatelé on-line: 0 registrovaných, 24 hostů