Mam do podzielenia string na pojedyncze wyrazy gdy wystąpią takie znaki jak:
- spacja
- przecinek
- kropka
Mam działający kod, najprostszy chyba jaki może być, który działa dla JEDNEGO z wybranych znaków.
#include <stdio.h>
#include <string.h>
int main()
{
char tekst[100];
char *pojedynczy_wyraz;
gets(tekst);
pojedynczy_wyraz = strtok(tekst, " ");
while(pojedynczy_wyraz!=NULL)
{
printf("%s\n", pojedynczy_wyraz);
pojedynczy_wyraz = strtok(NULL, " ");
}
return 0;
}
Podany wyżej kod działa dla wszystkich wyżej wymienionych znaków ale nie chce działać gdy chcę by działał dla nich naraz.
Tzn. działa dla pojedynczo wybranych znaków, natomiast np. dla dwóch już nie.
#include <stdio.h>
#include <string.h>
int main()
{
char tekst[100];
char *pojedynczy_wyraz;
gets(tekst);
pojedynczy_wyraz = strtok(tekst, " "); // dla spacji
pojedynczy_wyraz = strtok(tekst, "."); // dla kropki
while(pojedynczy_wyraz!=NULL)
{
printf("%s\n", pojedynczy_wyraz);
pojedynczy_wyraz = strtok(NULL, " ");
pojedynczy_wyraz = strtok(tekst, ".");
}
return 0;
}
Co robię nie tak ?