string, Informatyka WEEIA 2010-2015, Semestr III, Programowanie Obiektowe, Laboratorium


Funkcje nagłówkowe string.h

1. Strcpy:

char *strcpy(char *dest, const char *src)

{

char* p=dest;

while (*dest++ = *src++);

return p;

}

2. Strncpy:

char* strncpy(char *s1, const char *s2, int n)

{

char* result = s1;

int num = 0;

while ((*s1++ = *s2++) && (++num < n-1));

*s1++ = '\0';

return result;

}

3. Strcat:

char *strcat(char *dest, const char *src)

{

char* p=dest;

while (*dest) dest++; /* przejdź na koniec łańcucha docelowego */

while (*dest++ = *src++); /* dołącz łańcuch źródłowy */

return p;

}

4. Strncat:

char* strncat(char *s1, const char *s2, int n)

{

int num = 0;

char *wsk = s1;

while (*s1) s1++;

while ((*s1++ = *s2++) && (++num < n));

return wsk;

}

5. Strchr:

char *strchr(const char *s, int c)

{

char* temp = (char*)s;

while (*temp && *temp != c) temp++;

if (*temp == '\0')

return NULL;

return temp;

}

6. Strrchr:

char *strrchr(const char *s, int c)

{

char* result = NULL;

while (*s)

{

if (*s == c)

result = (char*)s;

s++;

}

return result;

}

7. Strcmp:

int strcmp(const char *s1, const char*s2)

{

while ((*s1) && (*s2) && (*s1==*s2)) s1++, s2++;

return (int)*s1-(int)*s2;

}

8. Strncmp:

int strncmp(const char *s1, const char *s2, int n)

{

int num = 0;

while ((*s1) && (*s2) && (*s1==*s2) && (++num < n)) s1++, s2++;

return (int)*s1-(int)*s2;

}

9. Strspn:

int strspn(const char *s, const char *set)

{

int pos = 0;

char *temp;

while (*s)

{

temp = (char*)set;

while (*temp) {

if (*s == *temp) break;

temp++;

}

if (*temp == '\0')

break;

s++;

pos++;

}

return pos;

}

10. Strcspn:

int strcspn(const char *s, const char *set)

{

int pos = 0;

char *temp;

while (*s) /* przetwarzaj wszystkie znaki łańcucha */

{

temp = (char*)set;

while (*temp) /* porównaj każdy znak ze zbioru z bieżącym znakiem */

if (*s == *temp) return pos; /* zwróć indeks bieżącego znaku gdy należy on do zbioru

else temp++;

s++;

pos++;

}

return pos;

}

11. Strlen:

int strlen(const char* string)

{

int len = 0;

while (*string++) len++;

return len;

}

12. Strpbrk:

char* strpbrk(const char *s, const char *set)

{

char *temp;

while (*s)

{

temp = (char*)set;

while (*temp)

if (*s == *temp) return (char*)s;

else temp++;

s++;

}

return NULL;

}

13. Memcpy:

void* memcpy(void* dest, const void* src, int count) {

char* idest = (char*)dest;

char* isrc = (char*)src;

while (count--) {

*idest++ = *isrc++;

}

return dest;

}

14. Memmove:

void* memmove(void* dest, const void* src, int count) {

char* idest = (char*)dest;

char* isrc = (char*)src;

int i;

char temp[count];

for (i=0; i<count ;i++) {

temp[i] = *isrc++;

}

for (i=0; i<count ;i++) {

*idest++ = temp[i];

}

return dest;

}

15. Memset:

void* memset( void * src, int value, int count ) {

char* isrc = (char*)src;

while (count--) {

*isrc++ = value;

}

return src;

}

16. Strstr:

char* my_strstr(char* s, char* s1)

{

if ((*s1 == '\0') || (*s == '\0'))

return NULL;

while (*s)

{

char* temp1 = s;

char* temp2 = s1;

while (*temp1 == *temp2 && *temp1 && *temp2)

temp1++, temp2++;

if (*temp2 == '\0')

return s;

else

if (*temp1 == '\0')

return NULL;

s++;

}

}

17. strdup: //Zwraca wskaźnik do nowego łańcucha, który stanowi kopię.

char* strdup(const char* src)

{

char* dest = (char*)malloc(strlen(src)+1);

return strcpy(dest, src);

}

Funkcje nagłówkowe ctype.h

int isalnum(int a) //sprawdza czy znak jest liczbą lub literą

{

if(a=='a'||a=='A'||a=='b'||a=='B'||a=='c'||a=='C'||a=='d'||a=='D'||a=='e'||a=='E'||a=='f'||a=='F'||a=='g'||a=='G'||a=='h'||a=='H'||a=='i'||a=='I'||a=='j'||a=='J'||a=='k'||a=='K'||a=='l'||a=='L'||a=='m'||a=='M'||a=='n'||a=='N'||a=='o'||a=='O'||a=='p'||a=='P'||a=='q'||a=='Q'||a=='r'||a=='R'||a=='s'||a=='S'||a=='t'||a=='T'||a=='u'||a=='U'||a=='v'||a=='V'||a=='w'||a=='W'||a=='x'||a=='X'||a=='y'||a=='Y'||a=='z'||a=='Z'||a=='1'||a=='2'||a=='3'||a=='4'||a=='5'||a=='6'||a=='7'||a=='8'||a=='9'||a=='0')

{

return 1;

}

else return 0;

}

int isalpha(int a) //sprawdza czy znak jest literą

{

if(a=='a'||a=='A'||a=='b'||a=='B'||a=='c'||a=='C'||a=='d'||a=='D'||a=='e'||a=='E'||a=='f'||a=='F'||a=='g'||a=='G'||a=='h'||a=='H'||a=='i'||a=='I'||a=='j'||a=='J'||a=='k'||a=='K'||a=='l'||a=='L'||a=='m'||a=='M'||a=='n'||a=='N'||a=='o'||a=='O'||a=='p'||a=='P'||a=='q'||a=='Q'||a=='r'||a=='R'||a=='s'||a=='S'||a=='t'||a=='T'||a=='u'||a=='U'||a=='v'||a=='V'||a=='w'||a=='W'||a=='x'||a=='X'||a=='y'||a=='Y'||a=='z'||a=='Z')

{

return 1;

}

else return 0;

}

int iblank(int a) //sprawdza czy znak jest znakiem odstępu służącym do oddzielania wyrazów (standardowymi znakami odstępu są spacja i znak tabulacji)

{

if(a==' '||a=='\t')

{

return 1;

}

else return 0;

}

int iscntrl(int a) //sprawdza czy znak jest znakiem sterującym

{

if(a=='\n'||a=='\t'||a=='\f'||a=='\v'||a=='\r')

{

return 1;

}

else return 0;

}

int isdigit(int a) //sprawdza czy znak jest cyfrą dziesiętna

{

if(a=='1'||a=='2'||a=='3'||a=='4'||a=='5'||a=='6'||a=='7'||a=='8'||a=='9'||a=='0')

{

return 1;

}

else return 0;

}

int isgraph(int a) //sprawdza czy znak jest znakiem drukowalnym różnym od spacji

{

if(a=='a'||a=='A'||a=='b'||a=='B'||a=='c'||a=='C'||a=='d'||a=='D'||a=='e'||a=='E'||a=='f'||a=='F'||a=='g'||a=='G'||a=='h'||a=='H'||a=='i'||a=='I'||a=='j'||a=='J'||a=='k'||a=='K'||a=='l'||a=='L'||a=='m'||a=='M'||a=='n'||a=='N'||a=='o'||a=='O'||a=='p'||a=='P'||a=='q'||a=='Q'||a=='r'||a=='R'||a=='s'||a=='S'||a=='t'||a=='T'||a=='u'||a=='U'||a=='v'||a=='V'||a=='w'||a=='W'||a=='x'||a=='X'||a=='y'||a=='Y'||a=='z'||a=='Z'||a=='1'||a=='2'||a=='3'||a=='4'||a=='5'||a=='6'||a=='7'||a=='8'||a=='9'||a=='0'||a=='`'||a=='~'||a=='@'||a=='!'||a=='#'||a=='$'||a=='%'||a=='^'||a=='&'||a=='*'||a=='('||a==')'||a=='-'||a=='_'||a=='='||a=='+'||a=='{'||a=='['||a=='}'||a==']'||a=='\\'||a=='||'||a==';'||a==':'||a==','||a=='<'||a=='.'||a=='>'||a=='/'||a=='?')

{

return 1;

}

else return 0;

}

int islower(int a) //sprawdza czy znak jest małą literą

{

if(a=='a'||a=='b'||a=='c'||a=='d'||a=='e'||a=='f'||a=='g'||a=='h'||a=='i'||a=='j'||a=='k'||a=='l'||a=='m'||a=='n'||a=='o'||a=='p'||a=='q'||a=='r'||a=='s'||a=='t'||a=='u'||a=='v'||a=='w'||a=='x'||a=='y'||a=='z')

{

return 1;

}

else return 0;

}

int isprint(int a) //sprawdza czy znak jest znakiem drukowalnym (włączając w to spację)

{

if(a=='a'||a=='A'||a=='b'||a=='B'||a=='c'||a=='C'||a=='d'||a=='D'||a=='e'||a=='E'||a=='f'||a=='F'||a=='g'||a=='G'||a=='h'||a=='H'||a=='i'||a=='I'||a=='j'||a=='J'||a=='k'||a=='K'||a=='l'||a=='L'||a=='m'||a=='M'||a=='n'||a=='N'||a=='o'||a=='O'||a=='p'||a=='P'||a=='q'||a=='Q'||a=='r'||a=='R'||a=='s'||a=='S'||a=='t'||a=='T'||a=='u'||a=='U'||a=='v'||a=='V'||a=='w'||a=='W'||a=='x'||a=='X'||a=='y'||a=='Y'||a=='z'||a=='Z'||a=='1'||a=='2'||a=='3'||a=='4'||a=='5'||a=='6'||a=='7'||a=='8'||a=='9'||a=='0'||a=='`'||a=='~'||a=='@'||a=='!'||a=='#'||a=='$'||a=='%'||a=='^'||a=='&'||a=='*'||a=='('||a==')'||a=='-'||a=='_'||a=='='||a=='+'||a=='{'||a=='['||a=='}'||a==']'||a=='\\'||a=='||'||a==';'||a==':'||a==','||a=='<'||a=='.'||a=='>'||a=='/'||a=='?'||a==' ')

{

return 1;

}

else return 0;

}

int ispunct(int a) //sprawdza czy znak jest znakiem przestankowym, dla którego ani isspace ani isalnum nie są prawdziwe (standardowo są to wszystkie znaki drukowalne, dla których te funkcje zwracają zero)

{

if(a=='`'||a=='~'||a=='@'||a=='!'||a=='#'||a=='$'||a=='%'||a=='^'||a=='&'||a=='*'||a=='('||a==')'||a=='-'||a=='_'||a=='='||a=='+'||a=='{'||a=='['||a=='}'||a==']'||a=='\\'||a=='||'||a==';'||a==':'||a==','||a=='<'||a=='.'||a=='>'||a=='/'||a=='?')

{

return 1;

}

else return 0;

}

int isspace(int a) //sprawdza czy znak jest tzw. białym znakiem (standardowymi białymi znakami są: spacja, wysunięcie strony '\f', znak przejścia do nowej linii '\n', znak powrotu karetki '\r', tabulacja pozioma '\t' i tabulacja pionowa '\v')

{

if(a==' '|| a=='\n'||a=='\t'||a=='\f'||a=='\v'||a=='\r')

{

return 1;

}

else return 0;

}

int isupper(int a) //sprawdza czy znak jest dużą literą

{

if(a=='A'||a=='B'||a=='C'||a=='D'||a=='E'||a=='F'||a=='G'||a=='H'||a=='I'||a=='J'||a=='K'||a=='L'||a=='M'||a=='N'||a=='O'||a=='P'|a=='Q'||a=='R'||a=='S'||a=='T'||a=='U'||a=='V'||a=='W'||a=='X'||a=='Y'||a=='Z')

{

return 1;

}

else return 0;

}

int isxdigit(int a) //sprawdza czy znak jest cyfrą szesnastkową, tj. cyfrą dziesiętną lub literą od 'a' do 'f' niezależnie od wielkości

{

if(a=='a'||a=='A'||a=='b'||a=='B'||a=='c'||a=='C'||a=='d'||a=='D'||a=='e'||a=='E'||a=='f'||a=='F'||a=='1'||a=='2'||a=='3'||a=='4'||a=='5'||a=='6'||a=='7'||a=='8'||a=='9'||a=='0')

{

return 1;

}

else return 0;

}

int tolower(int a) //zamienia znak na mala litere

{

if(a=='A') return 'a';

else if(a=='B') return 'b';

else if(a=='C') return 'c';

else if(a=='D') return 'd';

else if(a=='E') return 'e';

else if(a=='F') return 'f';

else if(a=='G') return 'g';

else if(a=='H') return 'h';

else if(a=='I') return 'i';

else if(a=='J') return 'j';

else if(a=='K') return 'k';

else if(a=='L') return 'l';

else if(a=='M') return 'm';

else if(a=='N') return 'n';

else if(a=='O') return 'o';

else if(a=='P') return 'p';

else if(a=='Q') return 'q';

else if(a=='R') return 'r';

else if(a=='S') return 's';

else if(a=='T') return 't';

else if(a=='U') return 'u';

else if(a=='V') return 'v';

else if(a=='W') return 'w';

else if(a=='X') return 'x';

else if(a=='Y') return 'y';

else if(a=='Z') return 'z';

else return a;

}

int toupper(int a) //zamienia znak na duza litere

{

if(a=='a') return 'A';

else if(a=='b') return 'B';

else if(a=='c') return 'C';

else if(a=='d') return 'D';

else if(a=='e') return 'E';

else if(a=='f') return 'F';

else if(a=='g') return 'G';

else if(a=='h') return 'H';

else if(a=='i') return 'I';

else if(a=='j') return 'J';

else if(a=='k') return 'K';

else if(a=='l') return 'L';

else if(a=='m') return 'M';

else if(a=='n') return 'N';

else if(a=='o') return 'O';

else if(a=='p') return 'P';

else if(a=='q') return 'Q';

else if(a=='r') return 'R';

else if(a=='s') return 'S';

else if(a=='t') return 'T';

else if(a=='u') return 'U';

else if(a=='v') return 'V';

else if(a=='w') return 'W';

else if(a=='x') return 'X';

else if(a=='y') return 'Y';

else if(a=='z') return 'Z';

else return a;

}



Wyszukiwarka

Podobne podstrony:
cwiczenie, Informatyka WEEIA 2010-2015, Semestr III, Programowanie Obiektowe
Instrukcje Matlaba, Informatyka WEEIA 2010-2015, Semestr III, Automatyzacja Obliczeń Inżynierskich
Sprawozdanie Krzysztof Filipek 3D6, Informatyka WEEIA 2010-2015, Semestr III, Wstęp do Techniki Cyfr
bepka, Informatyka WEEIA 2010-2015, Semestr II, Ergonomia i zasady bezpiecznej pracy, Bezpieczenstwo
Błędy w obliczeniach numerycznych - stare, Informatyka WEEIA 2010-2015, Semestr IV, Metody numeryczn
Zagadnienia do przygotowania na zaliczenie wykładu Projektowanie Serwisów WWW, Informatyka WEEIA 201
odpowiedzi egzamin, Informatyka WEEIA 2010-2015, Semestr IV, Systemy Wbudowane, Inne, egzamin
Sprawko Sebastiana i Stacha, Informatyka WEEIA 2010-2015, Semestr IV, Metody numeryczne, Lab 1 spraw
Sprawko moje pierwsze, Informatyka WEEIA 2010-2015, Semestr IV, Metody numeryczne, Lab 1 sprawko
Sprawko moje piąte, Informatyka WEEIA 2010-2015, Semestr IV, Metody numeryczne, Lab 5
wnioski, Informatyka WEEIA 2010-2015, Semestr I, Fizyka
moje sprawko, Informatyka WEEIA 2010-2015, Semestr II, Metrologia, Dominiki ćw5

więcej podobnych podstron