站長資訊網
        最全最豐富的資訊網站

        C字符串函數總匯解析

         

          函數名: stpcpy

          功 能: 拷貝一個字符串到另一個

          用 法: char *stpcpy(char *destin, char *source);

          程序例:

          #include

          #include

          int main(void)

          {

          char string[10];

          char *str1 = “abcdefghi”;

          stpcpy(string, str1);

          printf(“%sn”, string);

          return 0;

          }

         

          函數名: strcat

          功 能: 字符串拼接函數

          用 法: char *strcat(char *destin, char *source);

          程序例:

          #include

          #include

          int main(void)

          {

          char destination[25];

          char *blank = ” “, *c = “C++”, *Borland = “Borland”;

          strcpy(destination, Borland);

          strcat(destination, blank);

          strcat(destination, c);

          printf(“%sn”, destination);

          return 0;

          }

         

          函數名: strchr

          功 能: 在一個串中查找給定字符的第一個匹配之處

          用 法: char *strchr(char *str, char c);

          程序例:

          #include

          #include

          int main(void)

          {

          char string[15];

          char *ptr, c = ‘r’;

          strcpy(string, “This is a string”);

          ptr = strchr(string, c);

          if (ptr)

          printf(“The character %c is at position: %dn”, c, ptr-string);

          else

          printf(“The character was not foundn”);

          return 0;

          }

         

          函數名: strcmp

          功 能: 串比較

          用 法: int strcmp(char *str1, char *str2);

          看Asic碼,str1>str2,返回值 > 0;兩串相等,返回0

          程序例:

          #include

          #include

          int main(void)

          {

          char *buf1 = “aaa”, *buf2 = “bbb”, *buf3 = “ccc”;

          int ptr;

          ptr = strcmp(buf2, buf1);

          if (ptr > 0)

          printf(“buffer 2 is greater than buffer 1n”);

          else

          printf(“buffer 2 is less than buffer 1n”);

          ptr = strcmp(buf2, buf3);

          if (ptr > 0)

          printf(“buffer 2 is greater than buffer 3n”);

          else

          printf(“buffer 2 is less than buffer 3n”);

          return 0;

          }

         

          函數名: strncmpi

          功 能: 將一個串中的一部分與另一個串比較, 不管大小寫

          用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);

          程序例:

          #include

          #include

          int main(void)

          {

          char *buf1 = “BBB”, *buf2 = “bbb”;

          int ptr;

          ptr = strcmpi(buf2, buf1);

          if (ptr > 0)

          printf(“buffer 2 is greater than buffer 1n”);

          if (ptr < 0)

          printf(“buffer 2 is less than buffer 1n”);

          if (ptr == 0)

          printf(“buffer 2 equals buffer 1n”);

          return 0;

          }

         

          函數名: strcpy

          功 能: 串拷貝

          用 法: char *strcpy(char *str1, char *str2);

          程序例:

          #include

          #include

          int main(void)

          {

          char string[10];

          char *str1 = “abcdefghi”;

          strcpy(string, str1);

          printf(“%sn”, string);

          return 0;

          }

         

          函數名: strcspn

          功 能: 在串中查找第一個給定字符集內容的段

          用 法: int strcspn(char *str1, char *str2);

          程序例:

          #include

          #include

          #include

          int main(void)

          {

          char *string1 = “1234567890”;

          char *string2 = “747DC8”;

          int length;

          length = strcspn(string1, string2);

          printf(“Character where strings intersect is at position %dn”, length);

          return 0;

          }

         

          函數名: strdup

          功 能: 將串拷貝到新建的位置處

          用 法: char *strdup(char *str);

          程序例:

          #include

          #include

          #include

          int main(void)

          {

          char *dup_str, *string = “abcde”;

          dup_str = strdup(string);

          printf(“%sn”, dup_str);

          free(dup_str);

          return 0;

          }

         

          函數名: stricmp

          功 能: 以大小寫不敏感方式比較兩個串

          用 法: int stricmp(char *str1, char *str2);

          程序例:

          #include

          #include

          int main(void)

          {

          char *buf1 = “BBB”, *buf2 = “bbb”;

          int ptr;

          ptr = stricmp(buf2, buf1);

          if (ptr > 0)

          printf(“buffer 2 is greater than buffer 1n”);

          if (ptr < 0)

          printf(“buffer 2 is less than buffer 1n”);

          if (ptr == 0)

          printf(“buffer 2 equals buffer 1n”);

          return 0;

          }

         

          函數名: strerror

          功 能: 返回指向錯誤信息字符串的指針

          用 法: char *strerror(int errnum);

          程序例:

          #include

          #include

          int main(void)

          {

          char *buffer;

          buffer = strerror(errno);

          printf(“Error: %sn”, buffer);

          return 0;

          }

         

          函數名: strcmpi

          功 能: 將一個串與另一個比較, 不管大小寫

          用 法: int strcmpi(char *str1, char *str2);

          程序例:

          #include

          #include

          int main(void)

          {

          char *buf1 = “BBB”, *buf2 = “bbb”;

          int ptr;

          ptr = strcmpi(buf2, buf1);

          if (ptr > 0)

          printf(“buffer 2 is greater than buffer 1n”);

          if (ptr < 0)

          printf(“buffer 2 is less than buffer 1n”);

          if (ptr == 0)

          printf(“buffer 2 equals buffer 1n”);

          return 0;

          }

         

          函數名: strncmp

          功 能: 串比較

          用 法: int strncmp(char *str1, char *str2, int maxlen);

          程序例:

          #include

          #include

          int main(void)

          {

          char *buf1 = “aaabbb”, *buf2 = “bbbccc”, *buf3 = “ccc”;

          int ptr;

          ptr = strncmp(buf2,buf1,3);

          if (ptr > 0)

          printf(“buffer 2 is greater than buffer 1n”);

          else

          printf(“buffer 2 is less than buffer 1n”);

          ptr = strncmp(buf2,buf3,3);

          if (ptr > 0)

          printf(“buffer 2 is greater than buffer 3n”);

          else

          printf(“buffer 2 is less than buffer 3n”);

          return(0);

          }

         

          函數名: strncmpi

          功 能: 把串中的一部分與另一串中的一部分比較, 不管大小寫

          用 法: int strncmpi(char *str1, char *str2);

          程序例:

          #include

          #include

          int main(void)

          {

          char *buf1 = “BBBccc”, *buf2 = “bbbccc”;

          int ptr;

          ptr = strncmpi(buf2,buf1,3);

          if (ptr > 0)

          printf(“buffer 2 is greater than buffer 1n”);

          if (ptr < 0)

          printf(“buffer 2 is less than buffer 1n”);

          if (ptr == 0)

          printf(“buffer 2 equals buffer 1n”);

          return 0;

          }

         

          函數名: strncpy

          功 能: 串拷貝

          用 法: char *strncpy(char *destin, char *source, int maxlen);

          程序例:

          #include

          #include

          int main(void)

          {

          char string[10];

          char *str1 = “abcdefghi”;

          strncpy(string, str1, 3);

          string[3] = ”;

          printf(“%sn”, string);

          return 0;

          }

         

          函數名: strnicmp

          功 能: 不注重大小寫地比較兩個串

          用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);

          程序例:

          #include

          #include

          int main(void)

          {

          char *buf1 = “BBBccc”, *buf2 = “bbbccc”;

          int ptr;

          ptr = strnicmp(buf2, buf1, 3);

          if (ptr > 0)

          printf(“buffer 2 is greater than buffer 1n”);

          if (ptr < 0)

          printf(“buffer 2 is less than buffer 1n”);

          if (ptr == 0)

          printf(“buffer 2 equals buffer 1n”);

          return 0;

          }

         

          函數名: strnset

          功 能: 將一個串中的所有字符都設為指定字符

          用 法: char *strnset(char *str, char ch, unsigned n);

          程序例:

          #include

          #include

          int main(void)

          {

          char *string = “abcdefghijklmnopqrstuvwxyz”;

          char letter = ‘x’;

          printf(“string before strnset: %sn”, string);

          strnset(string, letter, 13);

          printf(“string after strnset: %sn”, string);

          return 0;

          }

         

          函數名: strpbrk

          功 能: 在串中查找給定字符集中的字符

          用 法: char *strpbrk(char *str1, char *str2);

          程序例:

          #include

          #include

          int main(void)

          {

          char *string1 = “abcdefghijklmnopqrstuvwxyz”;

          char *string2 = “onm”;

          char *ptr;

          ptr = strpbrk(string1, string2);

          if (ptr)

          printf(“strpbrk found first character: %cn”, *ptr);

          else

          printf(“strpbrk didn’t find character in setn”);

          return 0;

          }

         

          函數名: strrchr

          功 能: 在串中查找指定字符的最后一個出現

          用 法: char *strrchr(char *str, char c);

          程序例:

          #include

          #include

          int main(void)

          {

          char string[15];

          char *ptr, c = ‘r’;

          strcpy(string, “This is a string”);

          ptr = strrchr(string, c);

          if (ptr)

          printf(“The character %c is at position: %dn”, c, ptr-string);

          else

          printf(“The character was not foundn”);

          return 0;

          }

         

          函數名: strrev

          功 能: 串倒轉

          用 法: char *strrev(char *str);

          程序例:

          #include

          #include

          int main(void)

          {

          char *forward = “string”;

          printf(“Before strrev(): %sn”, forward);

          strrev(forward);

          printf(“After strrev(): %sn”, forward);

          return 0;

          }

         

          函數名: strset

          功 能: 將一個串中的所有字符都設為指定字符

          用 法: char *strset(char *str, char c);

          程序例:

          #include

          #include

          int main(void)

          {

          char string[10] = “123456789”;

          char symbol = ‘c’;

          printf(“Before strset(): %sn”, string);

          strset(string, symbol);

          printf(“After strset(): %sn”, string);

          return 0;

          }

         

          函數名: strspn

          功 能: 在串中查找指定字符集的子集的第一次出現

          用 法: int strspn(char *str1, char *str2);

          程序例:

          #include

          #include

          #include

          int main(void)

          {

          char *string1 = “1234567890”;

          char *string2 = “123DC8”;

          int length;

          length = strspn(string1, string2);

          printf(“Character where strings differ is at position %dn”, length);

          return 0;

          }

         

          函數名: strstr

          功 能: 在串中查找指定字符串的第一次出現

          用 法: char *strstr(char *str1, char *str2);

          程序例:

          #include

          #include

          int main(void)

          {

          char *str1 = “Borland International”, *str2 = “nation”, *ptr;

          ptr = strstr(str1, str2);

          printf(“The substring is: %sn”, ptr);

          return 0;

          }

         

          函數名: strtod

          功 能: 將字符串轉換為double型值

          用 法: double strtod(char *str, char **endptr);

          程序例:

          #include

          #include

          int main(void)

          {

          char input[80], *endptr;

          double value;

          printf(“Enter a floating point number:”);

          gets(input);

          value = strtod(input, &endptr);

          printf(“The string is %s the number is %lfn”, input, value);

          return 0;

          }

         

          函數名: strtok

          功 能: 查找由在第二個串中指定的分界符分隔開的單詞

          用 法: char *strtok(char *str1, char *str2);

          程序例:

          #include

          #include

          int main(void)

          {

          char input[16] = “abc,d”;

          char *p;

          /* strtok places a NULL terminator

          in front of the token, if found */

          p = strtok(input, “,”);

          if (p) printf(“%sn”, p);

          /* A second call to strtok using a NULL

          as the first parameter returns a pointer

          to the character following the token */

          p = strtok(NULL, “,”);

          if (p) printf(“%sn”, p);

          return 0;

          }

         

          函數名: strtol

          功 能: 將串轉換為長整數

          用 法: long strtol(char *str, char **endptr, int base);

          程序例:

          #include

          #include

          int main(void)

          {

          char *string = “87654321”, *endptr;

          long lnumber;

          /* strtol converts string to long integer */

          lnumber = strtol(string, &endptr, 10);

          printf(“string = %s long = %ldn”, string, lnumber);

          return 0;

          }

         

          函數名: strupr

          功 能: 將串中的小寫字母轉換為大寫字母

          用 法: char *strupr(char *str);

          程序例:

          #include

          #include

          int main(void)

          {

          char *string = “abcdefghijklmnopqrstuvwxyz”, *ptr;

          /* converts string to upper case characters */

          ptr = strupr(string);

          printf(“%sn”, ptr);

          return 0;

          }

         

          函數名: swab

          功 能: 交換字節

          用 法: void swab (char *from, char *to, int nbytes);

          程序例:

          #include

          #include

          #include

          char source[15] = “rFna koBlrna d”;

          char target[15];

          int main(void)

          {

          swab(source, target, strlen(source));

          printf(“This is target: %sn”, target);

          return 0;

          }

         

          PS:isalpha()是字符函數,不是字符串函數,

          isalpha

          原型:extern int isalpha(int c);

          用法:#include

          功能:判斷字符c是否為英文字母

          說明:當c為英文字母a-z或A-Z時,返回非零值,否則返回零。

          舉例:

          // isalpha.c

          #include

          #include

          #include

          main()

          {

          int c;

          clrscr(); // clear screen

          printf(“Press a key”);

          for(;;)

          {

          c=getchar();

          clrscr();

          printf(“%c: %s letter”,c,isalpha(c)?”is”:”not”);

          }

          return 0; // just to avoid warnings by compiler

          }

         

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 欧美精品videosse精子| 97视频在线观看这里只有精品| 午夜精品久久久久久久久| 精品视频在线免费观看| 无码精品黑人一区二区三区| 久久精品国产色蜜蜜麻豆| 国产精品亚洲欧美一区麻豆| 亚洲电影日韩精品| 国产AV国片精品一区二区| 国产精品免费无遮挡无码永久视频 | 欧美国产成人精品一区二区三区 | 日本精品自产拍在线观看中文| 精品无人区麻豆乱码1区2区| 久久精品国产亚洲AV麻豆网站| 亚洲精品国产V片在线观看 | 91精品免费久久久久久久久| 成人国产精品999视频| 精品亚洲A∨无码一区二区三区| 亚洲午夜精品一级在线播放放| 蜜臀av无码人妻精品| 精品国产一区二区三区AV性色| 51精品资源视频在线播放 | 国产精品自产拍在线观看花钱看| 久久91综合国产91久久精品| 97久久精品无码一区二区| 久久精品aⅴ无码中文字字幕不卡| 亚洲精品无码av天堂| 日韩在线精品一二三区| 久久精品亚洲男人的天堂| 国产福利精品视频自拍| 99精品人妻少妇一区二区| 日本精品一区二区三区在线观看| 国产精品青草久久久久婷婷 | 久久国产精品成人影院| 日韩精品久久久久久久电影蜜臀| 中文字幕久久精品无码| 天天爽夜夜爽夜夜爽精品视频| 欧美成人精品欧美一级乱黄码| 久热精品视频第一页| 日韩经典精品无码一区| 亚洲国产精品嫩草影院久久|