字符串函数总结

本文总结学习期间经常使用的字符串函数,方便需要时进行查阅。

一  puts函数(字符串输出函数)

一般形式:puts(字符数组

作用:输出一个字符串(以‘\0’结束的字符序列)。

二  gets函数(字符串输入函数)

一般形式:gets(字符数组)

作用:从终端输入一个字符串到字符数组函数。

 #include <stdio.h>
int main()
{
    char s[100];
    gets(s);
    puts(s);
    return 0;
}

三  strcpy

一般形式:strcpy(字符数组1,字符串2)

作用:将字符串2复制到字符数组1中。

四   strcmp()简介
1. 函数原型
int strcmp(const char *s1,const char *s2);
2. 参数
s1– 指向字符串的指针
s2– 指向字符串的指针
3. 功能
比较字符串s1和s2。

4. 头文件
#include <string.h>

5. 返回值
自左向右逐个按照ASCII码值进行比较,直到出现不同的字符或遇’\0’为止。
如果返回值 < 0,则表示 s1 小于 s2。
如果返回值 > 0,则表示 s1 大于 s2。
如果返回值 = 0,则表示 s1 等于 s2。
 

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

int main(void)
{
	char *a = "English";
    char *b = "ENGLISH";
    char *c = "english";
    char *d = "English";
    
	//strcmp()只能比较字符串, 其他形式的参数不能比较 
	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));
    printf("strcmp(a, \"English\"):%d\n", strcmp(a, "English"));
    printf("strcmp(&a[2], \"glish\"):%d\n", strcmp(&a[2], "glish")); 
	return 0;
}
strcmp(a, b):1
strcmp(a, c):-1
strcmp(a, d):0
strcmp(a, "English"):0
strcmp(&a[2], "glish"):0

五   

strstr ()函数:

strstr (str1,str2)函数用于判断字符串str2是否是str1的子串。如果是,则返回str2在str1中首次出现的地址:否则,返回NULL。

在库函数中 strstr ()函数的原型是 char    strstr    const   char   * str1,  const   char   * str2 ),包含在头文件<string.h>中。

思路:1.判空及判断str1与str2的长度比较;

2. 从字符串str1和str2开始遍历,直到str2结束,即遇见str2的 '\0' ,寻找成功,返回str1与str2第一个字符相等的首地址,否则,返回NULL;

3.在第二种情况下,在相同几步之后有可能有不相等的情况,如:“12234”与“234”,则将开始的str1++,重复第2步;

4..在这里写代码时需注意的几点:const(保证了数据的安全性);char*(为了实现链式访问);重复时的处理即第三种情况。相信,细节乃画龙点睛之笔喔!

strchr(s1,s2)是查找字符s2在字符串s1中的位置,返回地址;

strstr(s1,s2)是看s2是否是s1的子串,返回的是第一个字符的地址;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值