// Plik ten zawiera cztery projekty ilustrujące użycie funkcji znakowych
Transkrypt
// Plik ten zawiera cztery projekty ilustrujące użycie funkcji znakowych
// Projekt 4 // Wyszukiwanie kolejnych wyrazów w łańcuchu // przy zastosowaniu funkcji strtok #include<stdio.h> #include<conio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> void wyszukiwaniePojedynczychWyrazow(void); void wyszukiwaniWpetli(void); /*char *strtok (char *s, const char *ct) Wyszukuje w tablicy s ciągi znaków przedzielone znakami z tablicy ct. Kolejne wywołania tej funkcji dzieli tablice s na ciągi znaków rozdzielone znakami z tablicy ct. Funkcja po wywołaniu znajduje pierwszy ciąg znaków nie należących do ct. Znak następny zastępowany jest znakiem ‘\0’i zwracany jest wskaźnik do początku tego ciągu. Każde następne wywołanie tej funkcji musi być z argumentem s równym NULL, wówczas zwracany jest kolejny ciąg znaków, przy czym szukanie rozpoczyna się za końcem poprzedniego ciągu. Zwraca NULL,gdy nie znajduje ciągów. Każde następne wywołanie może być z innym argumentem ct.*/ int main(int argc, char* argv[]) { wyszukiwaniePojedynczychWyrazow(); wyszukiwanieWpetli(); getch(); return 0; } void wyszukiwaniePojedynczychWyrazow(void) { char s[50]="nazwisko imie rok wydzial"; char *ps1; printf("Funkcja strtok-wyszukiwanie dwoch\ kolejnych wystapien wyrazow"); ps1=strtok(s," "); if (ps1) printf("\n wyraz 1=%s",ps1); else { printf("\n Brak wystapien wyrazow"); getch(); exit(0); } ps1=strtok(NULL," "); if (ps1) printf("\n Wyraz 2=%s",ps1); else { printf("\n Brak drugiego wyrazu"); getch(); exit(0); } } void wyszukiwanieWpetli(void) { char s[50]="nazwisko imie rok wydzial"; char *ps1; int i; printf("\n\n\n Funkcja strtok – wyszukiwanie ciagu znakow w petli"); ps1=strtok(s," "); if (ps1) printf("\n Wyraz 1=%s",ps1); else { printf("\n Brak wystapien wyrazow"); getch(); exit(0); } i=2; while(ps1=strtok(NULL," ")) printf("\n wyraz %d=%s",i++,ps1); getch(); } Wynik działania programu Funkcja strtok-wyszukiwanie dwoch kolejnych wystapien wyrazow wyraz 1=nazwisko Wyraz 2=imie Funkcja strtok - wyszukiwanie Wyraz 1=nazwisko wyraz 2=imie wyraz 3=rok wyraz 4=wydzial ciagu znakow w petli