Ahoj, používám funkci strtok ve while cyklu pro oddělování jednotlivýcj tokenů. Vím, že funkce strtok "vycucává" z původního řetězce její obsah - proto všechny pole překopíruju do jiných (viz kód). Problém mám ale s tím, že "Token" se vypíše pouze jednou... pokud ale zakomentuju určitý řádek v kódu (viz kód), vše proběhne jak má... netušíte, kde je chyba?
char poleA [F_LENGTH];
char vstupniPole [strlen(input)+1];
strcpy(vstupniPole, puvodniPole);
char *token;
token = strtok(vstupniPole, "|");
char detekce [strlen(token)+1];
while (token != NULL){
printf("Token: %s\n", token);
strcpy(detekce, token);
if (isupper(detekce[2]) != 0){
char dalsiPole [strlen(poleA)+1];
strcpy(dalsiPole, poleA);
char *token2;
token2 = strtok(dalsiPole, "|"); // pokud toto zakomentuji, vse funguje jak ma
}
token = strtok(NULL, "|");
}