第一篇:黑馬程序員C語言教程:《C語言常用字符串接口總結》
《C語言常用字符串接口總結》
1)字符串操作
strcpy(p, p1)復制字符串
strncpy(p, p1, n)復制指定長度字符串 strcat(p, p1)附加字符串
strncat(p, p1, n)附加指定長度字符串 strlen(p)取字符串長度 strcmp(p, p1)比較字符串 strcasecmp忽略大小寫比較字符串 strncmp(p, p1, n)比較指定長度字符串 strchr(p, c)在字符串中查找指定字符 strrchr(p, c)在字符串中反向查找 strstr(p, p1)查找字符串
strpbrk(p, p1)以目標字符串的所有字符作為集合,在當前字符串查找該集合的任一元素 strspn(p, p1)以目標字符串的所有字符作為集合,在當前字符串查找不屬于該集合的任一元素的偏移
strcspn(p, p1)以目標字符串的所有字符作為集合,在當前字符串查找屬于該集合的任一元素的偏移
* 具有指定長度的字符串處理函數(shù)在已處理的字符串之后填補零結尾符
2)字符串到數(shù)值類型的轉換
strtod(p, ppend)從字符串 p 中轉換 double 類型數(shù)值,并將后續(xù)的字符串指針存儲到 ppend 指向的 char* 類型存儲。
strtol(p, ppend, base)從字符串 p 中轉換 long 類型整型數(shù)值,base 顯式設置轉換的整
型進制,設置為 0 以根據(jù)特定格式判斷所用進制,0x, 0X 前綴以解釋為十六進制格式整型,0 前綴以解釋為八進制格式整型 atoi(p)字符串轉換到 int 整型 atof(p)字符串轉換到 double 符點數(shù) atol(p)字符串轉換到 long 整型
3)字符檢查
isalpha()檢查是否為字母字符 isupper()檢查是否為大寫字母字符 islower()檢查是否為小寫字母字符 isdigit()檢查是否為數(shù)字
isxdigit()檢查是否為十六進制數(shù)字表示的有效字符 isspace()檢查是否為空格類型字符 iscntrl()檢查是否為控制字符 ispunct()檢查是否為標點符號 isalnum()檢查是否為字母和數(shù)字 isprint()檢查是否是可打印字符
isgraph()檢查是否是圖形字符,等效于 isalnum()| ispunct()
4)函數(shù)原型
原型:strcpy(char destination[], const char source[]);功能:將字符串source拷貝到字符串destination中 例程:
#include
void main(void){
char str1[10] = { “TsinghuaOK”};
char str2[10] = { “Computer”};
cout < 注意:在定義數(shù)組時,字符數(shù)組1的字符串長度必須大于或等于字符串2的字符串長度。不能用賦值語句將一個字符串常量或字符數(shù)組直接賦給一個字符數(shù)組。所有字符串處理函數(shù)都包含在頭文件string.h中。 strncpy(char destination[], const char source[], int numchars);strncpy:將字符串source中前numchars個字符拷貝到字符串destination中。strncpy函數(shù)應用舉例 原型:strncpy(char destination[], const char source[], int numchars);功能:將字符串source中前numchars個字符拷貝到字符串destination中 例程: #include char str1[10] = { “Tsinghua ”}; char str2[10] = { “Computer”}; cout < 原型:strcat(char target[], const char source[]);功能:將字符串source接到字符串target的后面 例程: #include char str1[] = { “Tsinghua ”}; char str2[] = { “Computer”}; cout < 原型:strncat(char target[], const char source[], int numchars);功能:將字符串source的前numchars個字符接到字符串target的后面 例程: #include char str1[] = { “Tsinghua ”}; char str2[] = { “Computer”}; cout < 原型:int strcmp(const char firststring[], const char secondstring);功能:比較兩個字符串firststring和secondstring 例程: #include void main(void){ char buf1[] = “aaa”; char buf2[] = “bbb”; char buf3[] = “ccc”; int ptr; ptr = strcmp(buf2,buf1); if(ptr > 0) cout <<“Buffer 2 is greater than buffer 1”< else cout <<“Buffer 2 is less than buffer 1”< ptr = strcmp(buf2,buf3); if(ptr > 0) cout <<“Buffer 2 is greater than buffer 3”< else cout <<“Buffer 2 is less than buffer 3”< 原型:strlen(const char string[]);功能:統(tǒng)計字符串string中字符的個數(shù) 例程: #include cout <<“The length of the string is :”<