字符串和字符串函数之学习笔记(四)

接着说哈,不管有没有人看,我都会很认真地写自己的博客
6.字符串函数
strcmp()函数,用来做字符方面的比较,注意:比较的是字符串==" ",而不是字符’ '==
该函数返回的值就是两个参数比较的差值前减后,值的大小参考ASCII码就好(但是也有例外,比如说我的电脑,前和后相等得0,前小于后得-1,前大于后得1)所以,我们关注的点应该是:两个字符串是否相等
该函数比较字符串中的字符,直到发现不同的为止
ps:char类型实际上是整数类型,所以可以使用关系运算符来比较

strncmp()函数,既可以比较到字符不同的地方,也可以只比较第三个参数指定的字符数

#include <stdio.h>
#include <string.h>
#define lifestyle 6
int main()
{
 const char *list[lifestyle]={
 "abdoki","abdmuo",
 "abdguj","kuysqa",
 "juscnd","hiiushdb"
 };
 int count=0;
 for(int i=0;i<lifestyle;i++)
 {
  if(strncmp(list[i],"abd",3)==0)
   printf("%s\n",list[i]);
  count++;
 }
 return 0;
}

指针拷贝字符串的方法,是拷贝地址,而不是字符串本身,那么就用下面的函数拷贝好啦
strcpy()函数,包含两个参数,第二个参数指向的字符串(源字符串)拷贝至第一个指向的数组中(目标字符串)(记得初始化)
指向源字符串的指针(即第二个参数的指针)可以声明为指针、数组、字符串常量,但是指向目标字符串的指针应指向一个数据对象(如:指针)------声明数组将分配一个存储数据的空间,而声明指针只分配一个存储地址的空间

#include <stdio.h>
#include <string.h>
#define LIM 5
#define SIZE 40
char *s_get(char *st,int n);
int main()
{
 char qwords[LIM][SIZE];
 char temp[SIZE];
 int i=0;
 
 printf("Enter %d words beginning with 'q':\n",LIM);
 while(i<LIM&&s_get(temp,SIZE))
 {
  if(temp[0]!='q')
   printf("%s doens't begin with 'q'!\n",temp);
  else
  {
   strcpy(qwords[i],temp);
   i++;
  }
 }
 puts("Here are the words accepted:");
 for(i=0;i<LIM;i++)
  puts(qwords[i]);
  
 return 0;
}
char *s_get(char *st,int n)
{
 char * ret;
 int i=0;
 
 ret=fgets(st,n,stdin);
 if(ret)
 {
  while(st[i]!='\n'&&st[i]!='\0')
   i++;
  if(st[i]=='\n')
  {
   st[i]='\0';
   i++;
  }
  else
   while(getchar()!='\n')
    continue;
 }
 return ret;
}

这个代码值得敲!!
这个函数还有其它属性:返回类型是char * ,返回的是第一个参数的值,即第一个字符的地址
第一个参数不必指向数组的开始

#include <stdio.h>
#include <string.h>
#define words "beats"
#define SIZE 40
int main()
{
 const char *orig=words;
 char copy[SIZE]="Do the best of your ability.";
 char * ps;
 
 ps=strcpy(copy+7,orig);
 puts(copy);
 puts(ps);
 return 0;
}

在这里插入图片描述
写这个代码、看到这个结果,感悟颇深~~
1).beats\0 占了 best t 的位置,因为有’\0’,所以后面没有换的也没办法输出来了
2).ps并没有创建一个新的储存单位,它只是个指针,指向copy中的第八个元素,因为有’\0’,所以后面的也没有办法输出来了

与其担心什么储存位置够不够这些问题,这边倒是有个更加谨慎的选择:strncpy()函数
第三个参数指明可以拷贝的最大字符数(包括空字符在内)

在stdio.h中的sprintf()函数用来把数据写入字符串
第一个参数是:目标字符串的地址,其余的就和printf()一毛一样

就写到这了,写太长我都不想看。。呼呼

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
weixin102旅游社交微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值