C語言字串的常見的函式

2021-08-15 02:40:56 字數 948 閱讀 8145

#include

size_t strlen(char const *string)返回值是乙個無符號數:

①if(strlen(x)-strlen(y)>=0)和②if(strlen(x)>=strlen(y))事實上是不相等的。①是必然為真的,因為兩個無符號數相減返回值是乙個無符號數,必然大於等於零

②這種方式可以正確的比較大小。或者我們可以強轉成(int)型別。

char* strcpy(char*s,char const*src);

這個函式是要覆蓋之前的字串(以nul結尾),要保證目標陣列有足夠的空間來容納原字串(c語言不會檢測這種錯誤),如果沒有足夠的空間,會覆蓋原陣列後面位址的空間,會造成很多意想不到的麻煩。

char*strcat(char*dst,char  const*src);

它要求dst引數必須已經包含乙個字串,(可以使空字串)。函式找到這個字串的結尾,並把目標字串複製到結尾,這個同樣要求目標字元陣列有足夠的空間。

int strcmp(char const*s1,char const*s2)

返回值為0,-1,+1,注意:!當為零時是兩個字串相等;引數必須以nul結尾,不然一直比較下去沒有意義!

下面來談一下有字元限制的字串函式:

char*strncpy(char*dst,char const *src,size_t len)

strncpy呼叫的結果可能不是乙個字串,因為字串必須以nul位元組結尾,而這個函式結果並不會以nul位元組結尾。要手動在結尾加上,這樣才是乙個字串。

char*strncat(char*dst,char const *src,size_t len)

它和strncpy不同,會在在結尾加上nul位元組。

int strncpy(char const*s1,

char const*s2,size_t len)

比較兩個字串最多比較len個位元組。

常見C語言字串函式

額,據說,在面試的時候經常會出現要我們實現字串函式的題目,話還說這些題目其實很簡單,主要考的是面試者的 風格和考慮問題的嚴謹性。偶要是沒看到有些面試題目考這些字串函式,偶估計就不會用c語言去實現這些函式了,因為覺得,庫函式都已經有了幹嘛還要去寫呢?呵呵,後來,自己去試著寫庫函式,和網上的一些大牛寫的...

C語言字串函式總結(部分常見字串函式)

1.atoi 函式 將字串轉換成整數 標頭檔案 include stdlib.h 定義函式 int atoi const char nptr 函式說明 atoi 會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時 0 才結束轉換,並將結果返回。...

C語言中常見的字元函式和字串函式

1.求字串的長度 strlen函式 1.函式介紹 size t strlen const char str strlen函式的模擬實現 include 方法1 計數器實現的方式 intmy strlen1 const char str return count 遞迴 不建立臨時的計數器 intmy ...