您的位置:首页 > 运维架构 > Linux

linux c常用字符串处理函数( 1 )

2009-04-21 23:10 453 查看
一、puts

名称:
puts
功能:
向显示器输出字符串。
头文件:
#include <stdio.h>
函数原形:
int puts(const char *s);
参数:
s 字符串
返回值:
成功返回输出的字符数,失败返回EOF
put函数与printf函数在字符串输出中的区别:
puts在输出字符串时,遇到'/0'会自动终止输出,并将'/0'转换为'/n'来输出。
Printf在输出字符串时,遇到'/0'只是终止输出,并不会将'/0'转换为'/n'来输出。

二、strcat

名称:
strcat
功能:
字符串连接函数
头文件:
#include <string.h>
函数原形:
char *strcat(char *restrict s1,const char *restrict s2);
参数:
s1 字符串1
s2 字符串2
返回值:
返回字符数组1的首地址
Strcat能够将字符串2连接到字符串1的后面。要注意的是字符串1必须能够装下字符串2。连接前,两串均以'/0'结束,连接后,串1的'/0'被取消,新串最后加‘'/0'
如:
char name[100]="Mike";
char number[20]="001";
strcat(name,number);
puts(name);
输出为:
Mike001

三、strcpy

名称:
strcpy
功能:
字符串拷贝函数
头文件:
#include <string.h>
函数原形:
char *strcpy(char *restrict s1,const char *restrict s2);
参数:
s1 字符串1
s2 字符串2
返回值:
返回字符数组1的首地址
strcpy将字符串2,拷贝到字符数组1中去,要注意,字符数组1必须足够大,拷贝时'/0'一同拷贝,不能使用赋值语句为一个字符数组赋值。

四、strcmp

名称:
strcmp
功能:
字符串比较函数
头文件:
#include <string.h>
函数原形:
char *strcmp(const char *s1,const char *s2);
参数:
s1 字符串1
s2 字符串2
返回值:
返回int型整数
strcmp对两串从左向右逐个字符比较(ASCLL吗),直到遇到不同字符或'/0'为止。若s1大于s2返回正整数,若s1小于s2返回负整数,若s1等于s2返回0。要注意字符串比较不能用"= =",必须用strcmp.

#include <stdio.h>
#include <string.h>

typedef struct
{
char name[20];
char num[20];
}USERINFO;

main()
{
USERINFO user;
char newname[ ]="Rose";
int result;
strcpy(user.name,"Mike");
result=strcmp(user.name,newname);
if(result!=0)
printf("different person!");
else
Printf("the same person!");
}
五、strlen

名称:
strlen
功能:
字符串长度函数
头文件:
#include <string.h>
函数原形:
int strlen(const char *s);
参数:
s 字符串
返回值:
返回字符串实际长度
strlen计算字符串长度并返回,不包含'/0'在内。
如:char str[100]="study";
int length;
length=strlen(str);
printf("%d",length);
输出:5

六、strtok

名称:
strtok
功能:
字符串分割函数
头文件:
#include <string.h>
函数原形:
char *strtok(char *s,const char *delim)
参数:
s   欲分割的字符串
delim  分割字符串
返回值:
返回下一个分割后的字符串指针,如果已无从分割则返回NULL
Strtok可将字符串分割,当strtok在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为/0字符。
在第一次调用时,strtok必须给予参数s字符串,往后的调用则将参数s设置为NULL.
下面是程序例子:
#include <stdio.h> #include <string.h>

main()
{
char s[ ]="ab-cd:de;gh:mnpe;ger-tu";
char *delim="-:";
char *p;
printf("%s/n",strtok(s,delim));
p=strtok(NULL,delim);
while((p=strtok(NULL,delim)))
Printf("%s/n",p);
}
输出结果为:
ab
cd
ee;gh
mnpe;ger
tu
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: