在公司筆試時經常需要呼叫或者實現c語言中的一些函式。主要包括:1、字串處理函式。2、記憶體操作函式。
字串處理函式:
size_t strlen(const char *s);
/*功能:計算指定指定字串s的長度,不包含字串結束符『\0』
引數:返回值:字串s的長度,size_t為unsigned int型別
*//*char *strcpy(char *dest, const char *src);
功能:把src所指向的字串複製到dest所指向的空間中,'\0'也會拷貝過去
引數:返回值:
失敗:null
*/int strcmp(const char *s1, const char *s2);
/*功能:比較 s1 和 s2 的大小
引數:返回值:
相等:0
大於:>0
小於:<0
*/
char *strcat(char *dest, const char *src);
/*功能:將src字串連線到dest的尾部,『\0』也會追加過去
引數:返回值:
失敗:null
*/char *strstr(const char *haystack, const char *needle);
/*功能:在字串haystack中查詢字串needle出現的位置
引數:返回值:
*/char *strtok(char *str, const char *delim);
/*功能:來將字串分割成乙個個片段。當strtok()在引數s的字串中發現引數delim中包含的分割字元時, 則會將該字元改為\0 字元,當連續出現多個時只替換第乙個為\0。
引數: str:指向欲分割的字串
delim:為分割字串中包含的所有字元
返回值:
失敗:null
注意:在第一次呼叫時:strtok()必需給予引數s字串
往後的呼叫則將引數s設定成null,每次呼叫成功則返回指向被分割出片段的指標
*///strtok呼叫演示
char a[100] = "adc*fvcv*ebcy*hghbdfg*casdert";
char *s = strtok(a, "*");//將"*"分割的子串取出
while (s != null)
int sprintf(char *str, const char *format, ...);
/*功能:根據引數format字串來轉換並格式化資料,然後將結果輸出到str指定的空間中,直到出現字串結束符 '\0' 為止。
引數: format:字串格式,用法和printf()一樣
返回值:
成功:實際格式化的字元個數
失敗: - 1
*/int sscanf(const char *str, const char *format, ...);
/*功能:從str指定的字串讀取資料,並根據引數format字串來轉換並格式化資料。
引數: format:字串格式,用法和scanf()一樣
返回值:
成功:實際讀取的字元個數
失敗: - 1
*/
int atoi(const char *nptr);
/*功能:atoi()會掃瞄nptr字串,跳過前面的空格字元,直到遇到數字或正負號才開始做轉換,而遇到非數字或字串結束符('\0')才結束轉換,並將結果返回返回值。
引數: nptr:待轉換的字串
返回值:成功轉換後整數
*/char*itoa(int value,char*string,int radix);
/*功能:int value 被轉換的整數,char *string 轉換後儲存的字元陣列,int radix 轉換進製數,如2,8,10,16 進製等
引數: value:需要轉換的值
char *str:字串首位址
radix:基數,也就是需要轉換的進製數
返回值:函式返回乙個指向 str,無錯誤返回。
2、記憶體操作函式
void *memset(void *s, int c, size_t n);
/*功能:將s的記憶體區域的前n個位元組以引數c填入
引數: c:填充的字元,c雖然引數為int,但必須是unsigned char , 範圍為0~255
n:指定需要設定的大小
*/void *memcpy(void *dest, const void *src, size_t n);
引數: n:需要拷貝的位元組數
*/void *memmove(void *dest, const void *src, size_t n);
/*memmove()功能用法和memcpy()一樣,區別在於:dest和src所指的記憶體空間重疊時,memmove()仍然能處理,不過執行效率比memcpy()低些。*/
int memcmp(const void *s1, const void *s2, size_t n);
/*功能:比較s1和s2所指向記憶體區域的前n個位元組
引數: n:需比較的前n個位元組
返回值:
相等:=0
大於:>0
小於:<0
*/void *malloc(size_t size);
/*功能:在記憶體的動態儲存區(堆區)中分配一塊長度為size位元組的連續區域,用來存放型別說明符指定的型別。分配的記憶體空間內容不確定,一般使用memset初始化。
引數: size:需要分配記憶體大小(單位:位元組)
返回值:
失敗:null
注意:對應的還有,void *calloc(size_t n, size_t size);
void *realloc(void *mem_address, unsigned int newsize);
*/void free(void *ptr);
引數:返回值:無
*/
C語言常用函式筆記
strcmp 比較字串 sscanf 讀取格式化的字串中的資料 memset 初始化記憶體的 萬能函式 通常為新申請的記憶體進行初始化工作。對一段記憶體空間全部設定為某個字元,一般用在對定義的字串進行初始化為 或 0 snprintf 按照format的格式格式化為字串,然後再將其拷貝至str中。最...
PHP 常用函式筆記
計算字元長度 1個字元utf 8占用3個位元組 param str return int functionmbstrlen str count 0 for i 0 i len i 0x80 return count ajax方式返回資料到客戶端 access protected param mixe...
pandas常用函式筆記
篩選元素,判斷是否存在等 df.isin 判斷df中是否有括號中的元素 dataframe data,index,columns,dtype,copy 構造資料框 data data.isin 可以將符合isin 的元素提取出來構造成乙個新的data dataframe 建立乙個datafram物件...