c語言中對字元和字串的處理很是頻繁,但是c語言本身是沒有字串型別的,字串通常放在 常量字串 中或者 字元陣列 中。 字串常量 適用於那些對它不做修改的字串函式.
size_t strlen (
const
char
* str )
;
字串已經 '\0』作為結束標誌,strlen函式返回的是在字串中 '\0』前面出現的字元個數(不包含 『\0』)。引數指向的字串必須要以 '\0』結束。注意函式的返回值為size_t,是無符號的( 易錯 )。
(1)strlen函式的使用
#include
intmain()
else
return0;
}
(2)模擬實現str冷函式,三種方式:
方式1:計數器方式
int
my_strlen
(const
char
* str)
return count;
}
方法2,//不能建立臨時變數計數器,採用遞迴的方式
int
my_strlen
(const
char
* str)
else
}
方法3 ,指標-指標的方式
int
my_strlen
(char
*s)return p-s;
}
char
*strcpy
(char
* destination,
const
char
* source )
;
源字串必須以』\0』 結束。
會將源字串中的』\0』 拷貝到目標空間。
目標空間必須足夠大,以確保能存放源字串。
目標空間必須可變。
(1)模擬實現strcpy函式
//1.引數順序
//2.函式的功能,停止條件
修飾指標
//5.函式返回值
//6.題目出自《高質量c/c++程式設計》書籍最後的試題部分
#include
#include
char
*mystrcpy
(char
* ch1,
const
char
* ch2)
*temp =
'\0'
;return ch1;
}char
*my_strcpy
(char
*dest,
const
char
*src)
return ret;
}int
main()
;char ch2=
;//printf("%s\n", mystrcpy(ch1, ch2));
printf
("%s\n"
,my_strcpy
(ch1, ch2));
return0;
}
char
* strcat (
char
* destination,
const
char
* source )
;
源字串必須以』\0』 結束。
目標空間必須有足夠的大,能容納下源字串的內容。
目標空間必須可修改。
(1)模擬實現strcat函式
#include
#include
char
*mystrcat
(char
* ch1,
const
char
* ch2)
while
(*ch2 !=
'\0'
)*temp =
'\0'
;return ch1;
}char
*my_strcat
(char
*dest,
const
char
*src)
while((
*dest++
=*src++))
return ret;
}int
main()
;char ch2=
;printf
("%s\n"
,mystrcat
(ch1, ch2));
printf
("%s\n"
,my_strcat
(ch1, ch2));
return0;
}
int strcmp (
const
char
* str1,
const
char
* str2 )
;
標準規定:
第乙個字串大於第二個字串,則返回大於0的數字
第乙個字串等於第二個字串,則返回0
第乙個字串小於第二個字串,則返回小於0的數字
(1)模擬實現strcmp函式
#include
#include
intmystrcmp
(const
char
*ch1,
const
char
* ch2)
ch1++
; ch2++;}
if(result >0)
result =1;
else
if(result <0)
result =-1
;return result;
}int
my_strcmp
(const
char
* src,
const
char
* dst)
intmain()
;char ch2=
;printf
("%d\n"
,mystrcmp
(ch1, ch2));
printf
("%d\n"
,my_strcmp
(ch1, ch2));
return0;
}
char
* strerror (
int errnum )
;
(1)strerror函式的使用
#include
#include
#include
//必須包含的標頭檔案
intmain()
//errno: last error number
return0;
}
char
* strstr (
const
char*,
const
char*)
;
(1)strstr函式的使用
/* strstr example */
#include
#include
intmain()
字元函式和字串函式
size t strlen const char str 模擬實現strlen 字串長度 include include size t mystrlen const char str return count int main 字串拷貝 char strcpy char destination,co...
字元函式和字串函式
求字串的長度 乙個帶 0 的字元陣列才叫字串 strlen函式 size t strlen const char str strlen函式返回的是不包含 0 的字元個數 引數指向的字串必須以 0 結束 函式的返回值為size t,是無符號的 unsigned int 函式的模擬實現 方法1 計數器方...
C C 字串處理函式
c include 1.字串長度 extern int strlen char s 返回s的長度,不包括結束符null 2.字串比較 extern int strcmp char s1,char s2 extern int strncmp char s1,char s2,int n 比較字串s1和s...