站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        C字符串函數(shù)總匯解析

         

          函數(shù)名: stpcpy

          功 能: 拷貝一個(gè)字符串到另一個(gè)

          用 法: 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;

          }

         

          函數(shù)名: strcat

          功 能: 字符串拼接函數(shù)

          用 法: 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;

          }

         

          函數(shù)名: strchr

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

          用 法: 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;

          }

         

          函數(shù)名: 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;

          }

         

          函數(shù)名: strncmpi

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

          用 法: 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;

          }

         

          函數(shù)名: 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;

          }

         

          函數(shù)名: strcspn

          功 能: 在串中查找第一個(gè)給定字符集內(nèi)容的段

          用 法: 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;

          }

         

          函數(shù)名: 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;

          }

         

          函數(shù)名: stricmp

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

          用 法: 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;

          }

         

          函數(shù)名: strerror

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

          用 法: char *strerror(int errnum);

          程序例:

          #include

          #include

          int main(void)

          {

          char *buffer;

          buffer = strerror(errno);

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

          return 0;

          }

         

          函數(shù)名: strcmpi

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

          用 法: 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;

          }

         

          函數(shù)名: 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);

          }

         

          函數(shù)名: 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;

          }

         

          函數(shù)名: 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;

          }

         

          函數(shù)名: strnicmp

          功 能: 不注重大小寫地比較兩個(gè)串

          用 法: 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;

          }

         

          函數(shù)名: strnset

          功 能: 將一個(gè)串中的所有字符都設(shè)為指定字符

          用 法: 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;

          }

         

          函數(shù)名: 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;

          }

         

          函數(shù)名: strrchr

          功 能: 在串中查找指定字符的最后一個(gè)出現(xiàn)

          用 法: 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;

          }

         

          函數(shù)名: strrev

          功 能: 串倒轉(zhuǎn)

          用 法: 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;

          }

         

          函數(shù)名: strset

          功 能: 將一個(gè)串中的所有字符都設(shè)為指定字符

          用 法: 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;

          }

         

          函數(shù)名: strspn

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

          用 法: 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;

          }

         

          函數(shù)名: strstr

          功 能: 在串中查找指定字符串的第一次出現(xiàn)

          用 法: 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;

          }

         

          函數(shù)名: strtod

          功 能: 將字符串轉(zhuǎn)換為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;

          }

         

          函數(shù)名: strtok

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

          用 法: 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;

          }

         

          函數(shù)名: strtol

          功 能: 將串轉(zhuǎn)換為長整數(shù)

          用 法: 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;

          }

         

          函數(shù)名: strupr

          功 能: 將串中的小寫字母轉(zhuǎn)換為大寫字母

          用 法: 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;

          }

         

          函數(shù)名: swab

          功 能: 交換字節(jié)

          用 法: 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()是字符函數(shù),不是字符串函數(shù),

          isalpha

          原型:extern int isalpha(int c);

          用法:#include

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

          說明:當(dāng)c為英文字母a-z或A-Z時(shí),返回非零值,否則返回零。

          舉例:

          // 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)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 精品一区二区久久| 国产精品免费看久久久香蕉| 亚洲午夜精品一区二区| 无码人妻精品一区二区三区东京热| 国产成人精品久久一区二区三区av | 午夜精品视频在线| 久久精品无码专区免费东京热| 精品人妻伦一二三区久久| 欧美国产日韩精品| 成人午夜视频精品一区| 亚洲精品无码久久一线| 四虎影视永久在线精品免费| 九九线精品视频在线观看| 国产成人精品免费视频大全| 欧美亚洲国产精品久久蜜芽| 国产精品臀控福利在线观看 | 亚洲AV成人精品日韩一区18p| 国产精品主播一区二区| 亚洲精品性视频| 精品国产麻豆免费人成网站| 国产精品久久久久久久久鸭| 99国产精品无码| 国产精品你懂的| 九九精品免视看国产成人| 精品国产日产一区二区三区| 国产精品亚洲午夜一区二区三区| 91精品在线看| 精品乱人伦一区二区三区| 精品免费视在线观看| 精品国产美女福利到在线不卡| 好属妞这里只有精品久久| 欧美国产日韩精品| 99热这里只有精品6国产免费| 99热亚洲精品6码| 精品国产91久久久久久久a| 久久免费国产精品| 亚洲精品视频在线看| 亚洲国产精品无码久久98| 日韩AV无码精品人妻系列| 国产精品美女久久久久久2018 | 久久精品国产网红主播|