c语言strcpy一个短的字符串,C语言字符串相关的函数:strlen、strcpy、strcat、strcmp...

常用的字符串处理函数

字符串的输入和输出:gets和puts

char * gets(char str) :从输入缓冲区中读取一个字符串存储到字符指针变量str所指向的内存空间。

puts(charstr):将字符串str输出。其中str是字符串数组名或者字符串指针。

区别

输入字符串: scanf( )或gets ( )

前者遇空格结束输入,后者遇回车结束输入

输出字符串:printf()或puts()

后者输出字符串后会自动换行,前者不会。#include

#include

int main(){

char str[80];

gets(str);

puts(str);

}

求字符串长度 strlen (str)

计算字符串str的长度,直到空结束字符,但不包括空结束字符。

注:

字符串最后的那个\0,是不计入在内的,而中间的空格是计入的。

英文字母,字符,数字长度为1,中文汉字标点长度为2#include

#include

int main(){

int n;

char str[80];

gets(str);

n= strlen(str);

printf("%d\n",n);

}

i love you

10

考虑下用下面的指针可以不?

#include

#include

int main(){

int n;

char str[80] , *str2;

gets(str2);

n= strlen(str2);

printf("%d\n",n);

}

当然是不行的,因为*str2是一个野指针,没有内存空间,是存不了东西的。如果用 ∗ s t r 2 = s t r *str2=str∗str2=str,这时 ∗ s t r 2 *str2∗str2就有指向的空间了,可以对其进行赋值。

#include

#include

int main(){

int n;

char str[80] , *str2=str;

gets(str2);

n= strlen(str2);

printf("%d\n",n);

}

i love you!

12

字符串的复制:strcpy (str1, str2)

将str2复制到str1

注意,strcpy会将sre的最后0也拷贝,对于字符串的赋值不能直接用 = 符号,必须strcpy

#include

#include

int main(){

char str[80] , str2[80]="i love you";//给str2赋初值

puts(str2);//输出str2 i love you

gets(str);//输入str happy

strcpy(str2,str);//将str的值赋值给str2

puts(str2);//输出str2 happy

}

字符串连接strcat(str1, str2)

将str2追加到str1字符串的结尾

内部实现:从str1 开头开始找,找到‘\0’,找到以后将srtr1的第一一个字符覆

盖dst的这个‘\0’,直到src的最后-一‘\0’写进去。

#include

#include

int main(){

int n;

char str[80],str1[80]="you love me" , str2[80]="i love you ";

puts(strcat(str1,str2));

}

you love me i love you

一字符串比较: strcmp(str1,str2)

两个字符串自左向右逐个字符相比(按 ASCII 值大小相比较),直到出现不同的字符或遇 \0 为止。

设这两个字符串为str1, str2,

若str1=str2,则返回零;

若str1

若str1>str2,则返回正数。

内部是做减法操作

1."A"

2."A"

3."Apple"

4."A"

5."compare"

来源:oschina

链接:https://my.oschina.net/u/4261498/blog/4327729

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值