
常用函数:
strcat 函数——字符串连接函数
strcpy/strncpy 函数——字符串复制函数
strcmp 函数——字符串⽐较函数
strlen函数——测字符串长度的函数
strlwr函数——转换为⼩写的函数
字符串拼接(strcat)
指针法:(指针函数:返回一个地址)
#include
char *strc(char *str1,char *str2){
char *p;
for(p=str1;*p;p++); //定位到 s1字符串 中的'do' 位置
*{++p=*++str2;}while(*)str2;*
=p';'//超级重要!!!return ;
} str1int
main
( )char[{
80 s1]="abc",[]s2="vhfb",*;=ptstrc
pt(,)s1;s2printf(
"%s\n",);ptreturn0
; }#
include
指针法:
voidstrc
( char*, charp1*) charp2*{
= ;pwhilep1(
* )++p1;p1while(
* )*p2++=p1*++;p2*=
';'p1}intmain
(
) char[80{
] s1="abc",[]=s2"vhfb";strc(,
);s1putss2()
;returns10;
} #include
//将s2连接到s1后面, s2不改变
普通方法:
voidstrconcat
(
char *,char *s1)int ,s2;{
for i(j=
0;i [ ];s1++i);i//定位到 s1字符串 中的'for' 位置(= 0
;[j ] ;++s2,j++)i[]j=[
s1]i; [ s2]j=';'
s1//结束!!!超级重要!!!超级容易忘!!!i} int main( )
char
[ 100],{
[ a100];getsb();gets
()a;strconcat
(,b);
puts(a)b;return
0;a}#
include int=
1
判断字符串是否相等(strcmp)
;void
strp flag(char*
, char*) ints=0 ;twhile{
( i*(+
) ==*(s+i)&&*(t+i)!=0)s++i;if(*i(+
)!='||'*s(i+)!=')'=0t;i}intmain(flag)char[
10
] ,[10{
] a;gets()b;gets()
;strpa(,
);bif(
)printfa(b"两个字符串相等")
; elseflagprintf
("两个字符串不相等");return
0
;}#include//s2字符串 复制 到s1中
void strcopy(
char
字符串赋值(strcpy)
*,
char
* )while( *s1)* ++s2={
* ++;s2*=s1';'//超级重要!!!}s2intmain
(s1 ) char[ 100
]
, [100]{
; s1gets();s2strcopy(,)
;putss2()
;}s1#s2includeint
strl(s1char*
)
字符串长度(strlen)
int=
0 ;while( *str++{
) len++;return
;}intstrmain( len)char
[ len100
]
; gets(){
; strprintf("%d",
strl(str))
;return0;}#strinclude// 大写转小写void
strtol (char
*
字符串大写转小写(strlwr)
)while
(
* )*+= 32str;
{
++ ;}str}{
intstr main ()
strchar[
100
]
; gets()
{
; strstrtol();
puts(str);
return0str;}
#includestr// 小写转大写void
strtou (char
*
字符串小写转大写(strlwr)
)while
(
* )*-= 32str;
{
++ ;}str}{
intstr main ()
strchar[
100
]
; gets()
{
; strstrtou();
puts(str);
return0str;}
#includestr#define
TRUE 1#
define
拓展
例1:将输入的字符串中每个单词首字母转为大写
FALSE0
intchange ( char
*, int )
if (*== ' 'c)return status;
{
elseif(c&&*<='z' TRUE&&
*{
'a' )status* -=c32;return;c>=}}intc main()
int FALSE=
;
char
; do=getchar
{
( flag)TRUE;
= chchange
({
ch&,);putchar
flag();}chwhileflag(!=
'.')ch;printf
("\n" )ch;return0;
}#includeintmain
( )char
*
输入:this is a text.
输出:This Is A Text.
例2:找出一个英语句子中最长单词有几个字母
,[
] ="I am happy ."}{
; intp=a0,={0;=
; maxwhile(*len!='.')
pwhilea(
( (*p<='Z')
{
&& (*'A')p||(*<='z')p>=&&(*'a')p))++;++;p>=}if()
{
len=;
p=0
;
++;len>max}maxprintflen(
len"max=%d",)p;return
0
;}max
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)