c 字串 函數

來源:互聯網
上載者:User

標籤:

c編輯strcpy原型:extern char *strcpy(char *dest,char *src);用法:#include <string.h>功能:把src所指由NUL結束的字串複製到dest所指的數組中。返回指向dest結尾處字元(NUL)的指標。舉例:// strcpy.c#include <syslib.h>#include <string.h>main(){char *s="Golden Global View";char d[20];clrscr();strcpy(d,s);printf("%s",d);getchar();return 0;}strcat原型:extern char *strcat(char *dest,char *src);用法:#include <string.h>功能:把src所指字串添加到dest結尾處(覆蓋dest結尾處的‘\0‘)並添加‘\0‘。返回指向dest的指標。舉例:// strcat.c#include <syslib.h>#include <string.h>main(){char d[20]="Golden Global";char *s=" View";clrscr();strcat(d,s);printf("%s",d);getchar();return 0;}strlen原型:extern int strlen(char *s);用法:#include <string.h>功能:計算字串s的長度說明:返回s的長度,不包括結束符NULL。舉例:// strlen.c#include <syslib.h>#include <string.h>main(){char *s="Golden Global View";clrscr();printf("%s has %d chars",s,strlen(s));getchar();return 0;}strncat原型:extern char *strncat(char *dest,char *src,int n);用法:#include <string.h>功能:把src所指字串的前n個字元添加到dest結尾處(覆蓋dest結尾處的‘\0‘)並添加‘\0‘。返回指向dest的指標。舉例:// strncat.c#include <syslib.h>#include <string.h>main(){char d[20]="Golden Global";char *s=" View WinIDE Library";clrscr();strncat(d,s,5);printf("%s",d);getchar();return 0;}strncpy原型:extern char *strncpy(char *dest, char *src, int n);用法:#include <string.h>功能:把src所指由NULL結束的字串的前n個位元組複製到dest所指的數組中。說明:如果src的前n個位元組不含NULL字元,則結果不會以NULL字元結束。如果src的長度小於n個位元組,則以NULL填充dest直到複製完n個位元組。src和dest所指記憶體地區不可以重疊且dest必須有足夠的空間來容納src的字串。返回指向dest的指標。舉例:// strncpy.c#include <syslib.h>#include <string.h>main(){char *s="Golden Global View";char *d="Hello, GGV Programmers";char *p=strdup(s);clrscr();textmode(0x00); // enable 6 lines modestrncpy(d,s,strlen(s));printf("%s\n",d);strncpy(p,s,strlen(d));printf("%s",p);free(p);getchar();return 0;}strcspn功 能: 在串中尋找第一個給定字元集內容的段用 法: int strcspn(char *str1, char *str2);程式例:#include <stdio.h>#include <string.h>#include <alloc.h>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 <stdio.h>#include <string.h>#include <alloc.h>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 <string.h>#include <stdio.h>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 <stdio.h>#include <errno.h>int main(void){char *buffer;buffer = strerror(errno);printf("Error: %sn", buffer);return 0;}strcmp功 能: 將一個串與另一個比較用 法: intstrcmpi(char *str1, char *str2);程式例:#include <string.h>#include <stdio.h>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功 能: 把串中的一部分與另一串中的一部分比較 (前n個字元)用 法: int strncmp(char *str1, char *str2,int maxlen);程式例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBBccc", *buf2 = "bbbccc";int ptr;ptr = strncmp(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;}strnicmp功 能: 不注重大小寫地比較兩個串的前n個字元用 法: intstrnicmp(char *str1, char *str2, unsigned maxlen);程式例:#include <string.h>#include <stdio.h>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 <stdio.h>#include <string.h>int main(void){char letter = ‘x‘;printf("string beforestrnset: %sn", string);strnset(string, letter, 13);printf("string afterstrnset: %sn", string);return 0;}strpbrk功 能: 在串中尋找給定字元集中的字元用 法: char *strpbrk(char *str1, char *str2);程式例:#include <stdio.h>#include <string.h>int main(void){char *string1 = "abcdefghijklmnopqrstuvwxyz";char *string2 = "onm";char *ptr;ptr = strpbrk(string1, string2);if (ptr)printf("strpbrk found first character: %cn", *ptr);elseprintf("strpbrk didn‘t find character in setn");return 0;}strrchr功 能: 在串中尋找指定字元的最後一個出現用 法: char *strrchr(char *str, char c);程式例:#include <string.h>#include <stdio.h>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);elseprintf("The character was not foundn");return 0;}strrev功 能: 串倒轉用 法: char *strrev(char *str);程式例:#include <string.h>#include <stdio.h>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 <stdio.h>#include <string.h>int main(void){char string[10] = "123456789";char symbol = ‘c‘;printf("Beforestrset(): %sn", string);strset(string, symbol);printf("Afterstrset(): %sn", string);return 0;}strspn功 能: 返回字串中第一個不在指定字串中出現的字元下標用 法: int strspn(char *str1, char *str2);程式例:#include <stdio.h>#include <string.h>#include <alloc.h>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 <stdio.h>#include <string.h>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 <stdio.h>#include <stdlib.h>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 <string.h>#include <stdio.h>int main(void){char input[16] = "abc,d";char *p;/* strtok places a NULL terminatorin front of the token, if found */p = strtok(input, ",");if (p) printf("%sn", p);/* A second call to strtok using a NULLas the first parameter returns a pointerto 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 <stdlib.h>#include <stdio.h>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 <stdio.h>#include <string.h>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 <stdlib.h>#include <stdio.h>#include <string.h>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 <ctype.h>功能:判斷字元c是否為英文字母說明:當c為英文字母a-z或A-Z時,返回非零值,否則返回零。舉例:// isalpha.c#include <syslib.h>#include <ctype.h>#include <stdio.h>main(){int c;clrscr(); // clear screenprintf("Press a key");for(;;){c=getchar();clrscr();printf("%c: %s letter",c,isalpha(c)?"is":"not");}return 0; // just to avoid warnings by compiler}

 

  

c 字串 函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.