1. 程式人生 > >《C程序設計語言》筆記 (十六) 參考手冊8

《C程序設計語言》筆記 (十六) 參考手冊8

strncat 現在 函數 space 連接 csp 函數接口 cmp 字符

字符類別測試 <ctype.h>

頭文件<ctype.h>聲明了一些測試字符的函數

每個函數的參數均為int類型,參數值必須是EOF或unsigned char類型表示的字符

函數的返回值int類型

如果參數滿足指定的條件則函數返回非0,否則返回0

isalnum(c);//函數isalpha(c) 或 isdigit(c) 為真

isalpha(c);//isupper(c)或islower(c)為真

iscntrl(c);// 是否控制字符

isdigit(c);//是否十進制數字

isgraph(c);//是否除空格外的可打印字符

islower(c);//小寫字母

isprint(c);//包括空格的可打印字符

ispunct(c);// 除空格 字符  數字外的可打印字符

isspace(c);// 空格 換頁符 換行符 回車符 制表符

isupper(c); //大寫字母

isxdigit(c);//十六進制數字

  

int tolower(c);//將c轉換外小寫字母

int toupper(c);//轉換外大寫

  

字符串函數<string.h>

頭文件<string.h> 中定義了兩組字符串函數

第一組函數名以str開頭

第二組函數名以mem開頭

除函數memmove外,其他函數都沒有定義重疊對象間的復制行為

比較函數將把參數作為unsigned char類型的數組看待

  

在下表中,變量s和t的類型為char *;

cs和ct的類型為 const char*;

n的類型我size_t

c的類型為int(將被轉換為char類型);

  

char *strcpy(s,ct);  //將字符串ct(包括‘\0‘)復制到字符串s中並返回s

char *strncpy(s,ct,n);//將字符串ct中最多n個字符復制到字符串s中,並返回s,如果少於n個,以‘\0‘ 填充

char *strcat(s,ct);//將字符串ct連接到s的尾部,並返回s

char *strncat(s,ct,n);//


int strcmp(cs,ct); ;//字符串比較  cs<ct 返回負數  cs==ct  返回0  cs>ct 返回正數

int strncmp(cs,ct,n);

char *strchr(cs,c);//返回指向字符c在字符串cs第一次出現的位置的指針
如果不包含c 返回NULL

char *strrchr(cs,c);//同上,從後往前

size_t strspn(cs,ct);//返回字符串cs包含ct中的字符的前綴的長度

size_t strcspn(cs,ct);//

char *strpbrk(cs,ct);//返回一個指針,指向字符串ct中人任意字符第一次出現在字符串cs中的位置,如果沒有返回NULL

char *strstr(cs,ct);//返回一個指針指向字符串ct第一次出現在字符串cs中的位置

size_t strlen(cs);//返回字符串的長度

char *strerror(n);//返回一個指針,指向與錯誤編號n對應的錯誤信息字符串

char *strtok(s,ct);//strtok函數在s中搜索ct中的界定記號


以mem開頭的函數按照字符數組的方式操作對象

主要目的是提供一個高效的函數接口

void *memcpy(s,ct,n);//將字符串ct中的n個字符復制的s中,返回s

  

數學函數<math.h>

實用函數<stdlib.h>

診斷<assert.h>

可變參數表<stdarg.h>

非局部跳轉<setjmp.h>

信號<signal.h>

日期與時間函數<time.h>

與具體實現相關的限制<limits.h> 和<float.h >

《C程序設計語言》筆記 (十六) 參考手冊8