string.h常見字串函式介紹
阿新 • • 發佈:2018-12-25
- strcat:
用來連線字串,函式原型為:
char *strcat(char *dest, const char *src);
即strcat( str1, str2 )將str2連線到str1上,並且返回str1的首地址。
str1字串後的結束符被覆蓋掉,在連線完成後的字串後加上結束符
(
- strcpy:
用來完成字串的複製,函式原型為:
char *strcpy(char * dest, const char *src);
即strcpy( str1 , str2 )將str2中的字串(包括結束符)複製到str1中,返回str1的首地址。
3.strcmp:
用來完成字串的比較,返回-1,0,1。
函式原型:
extern int strcmp(const char *s1,const char *s2);
strcmp(str1,str2),
當str1<str2時,返回為負數;
當str1==str2時,返回值= 0;
當str1>str2時,返回正數。
(正數和負數返回的確切數值不同的版本會不一樣)
比較規則是:兩個字串自左向右逐個字元相比(按ASCII值大小相比較),直到出現不同的字元或遇’\0’為止。
- strncat、strncpy:
這類函式就是制定連線或者複製位元組的個數,但假如在過程中遇到了結束符,就會提前終止!
所以:
#include<stdio.h>
#include<string.h>
int main() {
char str[10]="hello";
char *str1="world";
strncat(str,str1,9);
printf("%s\n",str);
return 0;
}
這段程式碼的輸出為“helloworld”,雖然9個位元組的長度超過了str1指向的字串長度,但在第六個元素處就是一個結束符,因此提前終止,而不會出現錯誤。