ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18

Click here to load reader

  • date post

    13-Apr-2017
  • Category

    Education

  • view

    718
  • download

    0

Embed Size (px)

Transcript of ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18

  • H C

    18:

    string.h

  • . string.h

    1.

    2. string.h

    1. (strlen)

    2. (strcpy)

    3. (strcat)

    4. (strcmp)

    5. (strstr)

    3. string.h

    1. strncpy

    2. strncat

    3. strncmp

    4. strdup

    5. strtok

    4.

    1. strchr

    2. strrchr

    3. strcspn

    4. strspn

    5. string.h

    1. ANSI

    2.

    .

    2 , C, 18: string.h

  • . string.h 1.

    3 , C, 18: string.h

    C.

    10:

    .

    , string.h

    :

    !

    :

    C.

    C .

    .

  • A. string.h 2. string.h

    4 , C, 18: string.h

    string.h :

    .

    strlen size_t strlen(char *str)

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

    dest src

    strcat char *strcat(char *str1, const char *str2)

    (str1=str1+str2)

    strcmp int strcmp(const char *str1, const char *str2)

    ( str2)

    strstr char *strstr(const char *str, const char *search)

    1 search str

  • . string.h 2. string.h 1. (strlen)

    5 , C, 18: string.h

    strlen:

    :

    :

    ( )

    \0.

    size_t strlen(char *str)

    string.h

    :

    To size_t () unsigned int

  • 6 , C, 18: string.h

    strlen

    /* strlen.c: Epideikniei ti xrisi tis strlen */

    #include

    #include

    #define N 80

    main()

    {

    char str[N];

    /* eisodos */

    printf("Dwse ti simvoloseira: ");

    gets(str);

    /* eksodos */

    printf("Mikos=%d",strlen(str));

    }

    . string.h 2. string.h 1. (strlen)

  • 7 , C, 18: string.h

    strcpy:

    :

    :

    src dest (

    \0)

    dest.

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

    string.h

    :

    dest

    H strcpy . str1=str2

    str2 str1

    .

    . string.h 2. string.h 2. (strcpy)

  • 8 , C, 18: string.h

    strcpy

    /* strcpy.c: Epideikniei ti xrisi tis strcpy */

    #include

    #include

    #define N 80

    main()

    {

    char str1[N], str2[N];

    /* eisodos */

    printf("Dwse ti simvoloseira: ");

    gets(str1);

    /* antigrafi me tin strcpy */

    strcpy(str2,str1);

    /* eksodos */

    printf("str1=%s, str2=%s",str1,str2);

    }

    . string.h 2. string.h 2. (strcpy)

  • 9 , C, 18: string.h

    strcat:

    :

    str1 str2 :

    str1 str2

    str1 \0

    str1.

    char *strcat(char *str1, const char *str2)

    string.h

    :

    Hello

    World

    str1

    str2

    META:

    str1

    str2

    HelloWorld

    World

    :

    .

    . string.h 2. string.h 3. (strcat)

  • 10 , C, 18: string.h

    strcat

    /* strcat.c: Epideikniei ti xrisi tis strcat */

    #include

    #include

    #define N 80

    main()

    {

    char str1[N], str2[N];

    /* eisodos */

    printf("Dwse ti simvoloseira 1: ");

    gets(str1);

    printf("Dwse ti simvoloseira 2: ");

    gets(str2);

    /* antigrafi me tin strcat */

    strcat(str1,str2);

    printf("\nstr1=%s",str1);

    strcat(str1,str2);

    printf("\nstr1=%s",str1);

    }

    . string.h 2. string.h 3. (strcat)

  • 11 , C, 18: string.h

    strcmp:

    :

    :

    str1str2 > 0

    int strcmp(const char *str1, const char *str2)

    string.h

    . string.h 2. string.h 4. (strcmp)

  • 12 , C, 18: string.h

    strcmp

    /* strcmp.c: Anadeiknyei ti xrisi tis strcmp */ #include

    #include

    #define N 80

    main()

    {

    int res;

    char str1[N], str2[N];

    /* eisodos */

    printf("Dwse ti simvoloseira 1: ");

    gets(str1);

    printf("Dwse ti simvoloseira 2: ");

    gets(str2);

    /* sygrisi me tin strcmp */

    res=strcmp(str1,str2);

    if (res

  • 13 , C, 18: string.h

    strstr:

    :

    (str)

    :

    1 search str.

    NULL search str

    char *strstr(const char *str, const char *search)

    string.h

    . string.h 2. string.h 5. (strstr)

  • 14 , C, 18: string.h

    strspn

    /* strstr.c: Anadeiknyei ti xrisi tis strstr */ #include

    #include

    #define N 80

    main()

    {

    char str1[N], str2[N];

    char *ptr;

    /* eisodos */

    printf("Dwse to keimeno sto opoio anazitoume: ");

    gets(str1);

    printf("Dwse ti anazitoume: ");

    gets(str2);

    ptr=strstr(str1,str2);

    while(ptr!=NULL)

    {

    printf("Stin thesi %d: %s\n",ptr-str1,ptr);

    ptr=strstr(ptr+1,str2);

    }

    }

    . string.h 2. string.h 5. (strstr)

  • A. string.h 3. string.h

    15 , C, 18: string.h

    . :

    (strncpy,

    strncat,strncmp)

    (strdup)

    (strtok)

    strncpy char *strncpy( char *dest, const char *src,

    size_t n)

    n dest

    src

    strncat char *strncat(char *str1, const char *str2, size_t

    n)

    (str1=str1+str2)

    str2.

    strncmp int strncmp(const char *str1, const char *str2,

    size_t n)

    n ( str2)

    strdup char *strdup(const char *str)

    str

    ( )

    strtok char *strtok(char *str, char *delim)

    str delim

  • 16 , C, 18: string.h

    strncpy:

    :

    :

    src n:

    src dest (

    \0)

    src ( ) n:

    n src

    dest ( \0)

    dest.

    char *strncpy( char *dest, const char *src, size_t n)

    string.h

    . string.h 3. string.h 1. strncpy()

  • 17 , C, 18: string.h

    strcpy

    /* strncpy.c: Epideikniei ti xrisi tis strncpy */

    #include

    #include

    #define N 80

    main()

    {

    char str1[N], str2[N];

    int l=5;

    /* eisodos */

    printf("Dwse ti simvoloseira: ");

    gets(str1);

    /* antigrafi me tin strncpy */

    strncpy(str2,str1,l);

    /* eksodos */

    printf("str1=%s, str2=%s",str1,str2);

    }

    . string.h 3. string.h 1. strncpy()

  • 18 , C, 18: string.h

    strncat:

    :

    :

    str2 n:

    str1 str2.

    str1 \0

    str2 ( ) n:

    str1 n str2.

    str1 \0

    str1.

    char *strncat(char *str1, const char *str2, size_t n)

    string.h

    . string.h 3. string.h 2. strncat()

  • 19 , C, 18: string.h

    strncat

    /* strncat.c: Epideikniei ti xrisi tis strncat */

    #include

    #include

    #define N 80

    main()

    {

    int i;

    char str1[N], str2[N];

    /* eisodos */

    printf("Dwse ti simvoloseira 1: ");

    gets(str1);

    printf("Dwse ti simvoloseira 2: ");

    gets(str2);

    /* antigrafi me tin strncat */

    for (i=1; i

  • 20 , C, 18: string.h

    strncmp:

    :

    n

    n ( \0):

    str1str2 > 0

    int strncmp(const char *str1, const char *str2, size_t n)

    string.h

    . string.h 3. string.h 3. strncmp()

  • 21 , C, 18: string.h

    strncmp

    /* strncmp.c: Anadeiknyei ti xrisi tis strncmp */ #include

    #include

    #define N 80

    main()

    {

    int res,l=4;

    char str1[N], str2[N];

    /* eisodos */

    printf("Dwse ti simvoloseira 1: ");

    gets(str1);

    printf("Dwse ti simvoloseira 2: ");

    gets(str2);

    /* sygkrisi me tin strncmp */

    res=strncmp(str1,str2,l);

    /* eksodos */

    if (res

  • 22 , C, 18: string.h

    strdup:

    :

    ANSI ( )

    .

    ( malloc),

    :

    .

    NULL

    char *strdup(const char *str)

    string.h

    . string.h 3. string.h 4. strdup()

  • 23 , C, 18: string.h

    strdup

    /* strdup.c: Anadeiknyei ti xrisi tis strdup */

    #include

    #include

    #define N 80

    main()

    {

    char str[N];

    char *str2;

    /* eisodos */

    printf("Dwse ti simvoloseira: ");

    gets(str);

    /* antigrafi me tin strdup */

    str2=strdup(str);

    /* eksodos */

    if (!str2)

    {

    printf("Adynamia desmeusis mnimis!");

    }

    else{

    printf("Antigrafike: %s me mikos: %d",str2,strlen(str2));

    }

    }

    . string.h 3. string.h 4. strdup()

  • 24 , C, 18: string.h

    strtok:

    :

    str

    (.. , ,: ,. ).

    str NULL ( ),

    , \0.

    str NULL