// 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