string.h
char* 复制到char *
strdup
函数名:
strdup
功 能: 将串拷贝到新建的位置处
用 法: char *strdup(char *str);
程序例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include<stdio.h>
#include<string.h>
#include<alloc.h>
int
main(
void
)
{
char
*dup_str,*string=
"abcde"
;
dup_str=strdup(string);
printf
(
"%s\n"
,dup_str);
free
(dup_str);
return
0;
}
|
strncmp
函数名:
strncmp
功 能: 串比较
用 法: intstrncmp(char *str1, char *str2, int maxlen);
程序例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include<string.h>
#include<stdio.h>
int
main(
void
)
{
char
*buf1=
"aaabbb"
,*buf2=
"bbbccc"
,*buf3=
"ccc"
;
int
ptr;
ptr=
strncmp
(buf2,buf1,3);
if
(ptr>0)
printf
(
"buffer2 is greater than buffer1\n"
);
else
printf
(
"buffer2 is less than buffer1\n"
);
ptr=
strncmp
(buf2,buf3,3);
if
(ptr>0)
printf
(
"buffer2isgreaterthanbuffer3\n"
);
else
printf
(
"buffer2islessthanbuffer3\n"
);
return0;
}
|
strncpy
函数名:
strncpy
功 能: 串拷贝
用 法: char *strncpy(char *destin, char *source, int maxlen);
程序例:
1
2
3
4
5
6
7
8
9
10
11
|
#include<stdio.h>
#include<string.h>
int
main(
void
)
{
char
string[10];
char
*str1=
"abcdefghi"
;
strncpy
(string,str1,3);
string[3]=
'\0'
;
printf
(
"%s\n"
,string);
return
0;
}
|
strtok
函数名:
strtok
功 能: 查找由在第二个串中指定的分界符分隔开的单词
用 法: char *strtok(char *str1, char *str2);
程序例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include<string.h>
#include<stdio.h>
intmain(
void
)
{
charinput[16]=
"abc,d"
;
char
*p;
/*strtokplacesaNULLterminator
infrontofthetoken,iffound*/
p=
strtok
(input,
","
);
if
(p)
printf
(
"%s\n"
,p);
/*AsecondcalltostrtokusingaNULL
asthefirstparameterreturnsapointer
tothecharacterfollowingthetoken*/
p=
strtok
(NULL,
","
);
if
(p)
printf
(
"%s\n"
,p);
return0;
}
|
strupr
函数名:
strupr
功 能: 将串中的小写字母转换为大写字母
用 法: char *strupr(char *str);
程序例:
1
2
3
4
5
6
7
8
9
10
11
12
|
#include<stdio.h>
#include<string.h>
intmain(
void
)
{
charstring[]=
"abcdefghijklmnopqrstuvwxyz"
,*ptr;
//定义为数组才能修改
/*convertsstringtouppercasecharacters*/
ptr=strupr(string);
printf
(
"%s\n"
,ptr);
return0;
}
|
strlen
函数名:
strlen
功能: strlen函数求的是字符串的长度,它求得方法是从字符串的首地址开始到遇到第一个'\0'停止计数,如果你只定义没有给它赋初值,这个结果是不定的,它会从字符串首地址一直记下去,直到遇到'\0'才会停止。
原型:
size_tstrlen(const char *s);
1
2
3
4
5
6
7
8
9
10
|
#include<stdio.h>
#include<string.h>
int
main()
{
int
i=0;
char
*he=
"Hello,world"
;
i=
strlen
(he);
printf
(
"字符串长度为%d\n"
,i);
return
0;
}
|
运行结果:
字符串长度为11
strcpy
函数名:
strcpy
功 能: 拷贝一个字符串到另一个
用 法: char *strcpy(char *destin, char *source);
程序例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include<stdio.h>
#include<string.h>
int
main(
void
)
{
char
string[10];
char
*str1=
"abcdefghi"
;
strcpy
(string,str1);
printf
(
"%s\n"
,string);
return
0;
}
|
strncpy
函数名:
strncpy
原型:char *strncpy(char *dest, char *src,
size_tn);
strcat
函数名:
strcat
功 能: 字符串拼接函数
用 法: char *strcat(char *destin, char *source);