Linux 常用C函數(內存及字符串操作篇2)


strcat(連接兩字符串)
相關函數
bcopy,memccpy,memcpy,strcpy,strncpy

表頭文件
#include <string.h>

定義函數
char *strcat (char *dest,const char *src);

函數說明
strcat()會將參數src字符串拷貝到參數dest所指的字符串尾。第一個參數dest要有足夠的空間來容納要拷貝的字符串。

返回值
返回參數dest的字符串起始地址

范例
#include <string.h.>
main()
{
char a[30]="string(1)";
char b[]="string(2)";
printf("before strcat() : %s/n",a);
printf("after strcat() : %s/n",strcat(a,b));
}

執行
before strcat () : string(1)
after strcat () : string(1)string(2)
 

 

 

strchr(查找字符串中第一個出現的指定字符)
相關函數
index,memchr,rinex,strbrk,strsep,strspn,strstr,strtok

表頭文件
#include<string.h>

定義函數
char * strchr (const char *s,int c);

函數說明
strchr()用來找出參數s字符串中第一個出現的參數c地址,然后將該字符出現的地址返回。

返回值
如果找到指定的字符則返回該字符所在地址,否則返回0。

范例
#include<string.h>
main()
{
char *s=0123456789012345678901234567890”;
char *p;
p=strchr(s,'5');
printf("%s/n",p);
}

執行
5.68E+25
 

 

 

strcmp(比較字符串)
相關函數
bcmp,memcmp,strcasecmp,strncasecmp,strcoll

表頭文件
#include<string.h>

定義函數
int strcmp(const char *s1,const char *s2);

函數說明
strcmp()用來比較參數s1和s2字符串。字符串大小的比較是以ASCII碼表上的順序來決定,此順序亦為字符的值。strcmp()首先將s1第一個字符值減去s2第一個字符值,若差值為0則再繼續比較下個字符,若差值不為0則將差值返回。例如字符串"Ac"和"ba"比較則會返回字符"A"(65)和'b'(98)的差值(-33)。

返回值
若參數s1和s2字符串相同則返回0。s1若大於s2則返回大於0的值。s1若小於s2則返回小於0 的值。

范例
#include<string.h>
main()
{
char *a="aBcDeF";
char *b="AbCdEf";
char *c="aacdef";
char *d="aBcDeF";
printf("strcmp(a,b) : %d/n",strcmp(a,b));
printf("strcmp(a,c) : %d/n",strcmp(a,c));
printf("strcmp(a,d) : %d/n",strcmp(a,d));
}

執行
strcmp(a,b) : 32
strcmp(a,c) :-31
strcmp(a,d) : 0


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com