頭文件:#include <string.h>
功能:用來比較兩個字符串
參數:s1、s2為兩個進行比較的字符串
返回值:若s1、s2字符串相等,則返回零;若s1大於s2,則返回大於零的數;否則,則返回小於零的數。
說明:strcmp()函數是根據ACSII碼的值來比較兩個字符串的;strcmp()函數首先將s1字符串的第一個字符值減去s2第一個字符,若差值為零則繼續比較下去;若差值不為零,則返回差值。
#include <string.h>
int main(void)
{
char *p="aBc";
char *q="Abc";
char *h="abc";
printf("strcmp(p,q):%d\n",strcmp(p,q));
printf("strcmp(p,h):%d\n",strcmp(p,h));
return 0;
}
//結果:
//strcmp(p,q):32
//strcmp(p,h):-32
原型:extern int strcmp(const char *s1,const char * s2);
所在頭文件:string.h
功能:比較字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
說明:
當s1<s2時,返回為負數
當s1=s2時,返回值= 0
當s1>s2時,返回正數
即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現不同的字符或遇'\0'為止。如:
"A"<"B" "a">"A" "computer">"compare"
特別注意:strcmp(const char *s1,const char * s2)這裡面只能比較字符串,不能比較數字等其他形式的參數。
C語言 strcpy() 函數用於對字符串進行複製(拷貝)。
頭文件:string.h
語法/原型:
char* strcpy(char* strDestination, const char* strSource);
參數說明:
strDestination:目的字符串。
strSource:源字符串。
strcpy() 會把 strSource 指向的字符串複製到 strDestination。
必須保證 strDestination 足夠大,能夠容納下 strSource,否則會導致溢出錯誤。
返回值:目的字符串,也即 strDestination。
【實例】使用C語言 strcpy() 函數將字符串 src 複製到 dest。
純文本複製
#include <stdio.h>
#include <string.h>
int main(){
char dest[50] = { 0 };
char src[50] = { "http://c.biancheng.net" };
strcpy(dest, src);
puts(dest);
return 0;
}
運行結果:
strcpy,即string copy(字符串複製)的縮寫。
strcpy是一種C語言的標準庫函數,strcpy把從src地址開始且含有』\0』結束符的字符串複製到以dest開始的地址空間,返回值的類型為char*。
定義一個字符串char a[20],和一個字符串c[]=「i am a teacher!」;
把c複製到a中就可以這樣用:strcpy(a,c);
這個函數包含在頭文件 <string.h>中.
//
//C語言標準庫函數strcpy的一種典型的工業級的最簡實現。
//返回值:目標串的地址。
//對於出現異常的情況ANSI-C99標準並未定義,故由實現者決定返回值,通常為NULL。
//參數:des為目標字符串,source為原字符串。
char* strcpy(char* des,const char* source)
{
char* r=des;
assert((des != NULL) && (source != NULL));
while((*r++ = *source++)!='\0');
return des;
}
//while((*des++=*source++));的解釋:賦值表達式返回左操作數,所以在賦值'\0'後,循環停止。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
用法這是C語言裡面複製字符串的庫函數, 函數聲明包括在專門處理字符串的頭文件<string.h>中:
char * strcpy( char * dst, const char * src );
這個函數把字符串src複製到一分配好的字符串空間dst中,複製的時候包括標誌字符串結尾的空字符一起複製。操作成功,返回dst,否則返回NULL.
示例程序#include<string.h>
#include <stdio.h>
void main()
{
char a[20], c[] = "I am a teacher!";
strcpy(a, c);
printf(" c=%s\n", c);
printf(" a=%s\n", a);
}