1. 程式人生 > >string.h常見字串函式介紹

string.h常見字串函式介紹

  1. strcat:

用來連線字串,函式原型為:
char *strcat(char *dest, const char *src);

即strcat( str1, str2 )將str2連線到str1上,並且返回str1的首地址。

str1字串後的結束符被覆蓋掉,在連線完成後的字串後加上結束符

(

  1. 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’為止

  1. 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指向的字串長度,但在第六個元素處就是一個結束符,因此提前終止,而不會出現錯誤。