目录

一.求字符串长度

1.strlen

二.长度不受限制的字符串函数

1.strcpy

2.strcat

3.strcmp


 一.求字符串长度

1.strlen

size_t strlen ( const char * str );

(1).字符串已经 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包 含 '\0' )

这里值得注意的是

int main()
{char arr1[] = { "abc" };char arr2[] = { 'a','b','c','\0' };char arr3[] = { 'a','b','c' };printf("%d\n", strlen(arr1)); printf("%d\n", strlen(arr2)); printf("%d\n", strlen(arr3));return 0;
}

(2).函数的返回值为size_t(unsigned int),是无符号的!所求的两个字符串的长度无法在进行加减运算,但是如果直接进行比赛的时候就可以正确运行。

int main()
{if (strlen("abc") - strlen("abcdef")>0)printf(">\n");elseprintf("<=\n");if ((int)strlen("abc") - (int)strlen("abcdef") > 0)printf(">\n");elseprintf("<=\n");if(strlen("abc") > strlen("abcdef"))printf(">\n");elseprintf("<=\n");return 0;
}

(3)参数指向的字符串必须要以 '\0' 结束。

二.长度不受限制的字符串函数

1.strcpy

char* strcpy(char * destination, const char * source );

(1)strcpy(arr2,arr1);

将arr1复制到arr2后面(源字符串必须以 '\0' 结束)(会将源字符串中的 '\0' 拷贝到目标空间)

int main()
{char arr1[] = {'a', 'b', 'c', 'd', 'e', 'f', '\0'};char arr2[20] = "xxxxxxxxxxxx";//const char* p = "xxxxxxxxxx";strcpy(arr2, arr1);printf("%s\n", arr2);return 0;
}

(2)目标空间必须足够大,以确保能存放源字符串。(装不下的情况能放多少放多少)

(3)目标空间必须可变。

程序崩溃,无法运行。

2.strcat

char * strcat ( char * destination, const char * source );

(1)将字符串的副本追加到目标字符串。目标中终止的空字符将被的第一个字符覆盖,并且在目标中由两者串联形成的新字符串的末尾包含一个空字符.(源字符串必须以 '\0' 结束。)

int main()
{char arr1[30] = "hello";char arr2[] = "world";// {'w', 'o', 'r', 'l', 'd', '\0'};printf("%s\n", strcat(arr1, arr2));return 0;
}

(2)目标空间必须有足够的大,能容纳下源字符串的内容。

(3)目标空间必须可修改。

3.strcmp

int strcmp ( const char * str1, const char * str2 );

(1)将 C 字符串 str1 与 C 字符串 str2 进行比较
此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续使用以下对,直到字符不同或达到终止空字符。

int main()
{char arr1[] = "abc";char arr2[] = "abc";int ret = strcmp(arr1, arr2);if (ret<0){printf("arr1<arr2");    }else if (ret >0){printf("arr1>arr2");}else{printf("arr1==arr2");}return 0;
}

(注:本文为原创作品,若无意侵权,请联系我。)

欢迎点赞

C语言:str函数(一)相关推荐

  1. R语言——str函数

    str函数 structure,紧凑地显示对象内部结构,即对象里有什么.

  2. str开头的c语言函数介绍,C语言str函数系列

    1.strcat() 此函数原型为 char *strcat(char *dest, const char *src). 功能为连接两个字符串,把src连接到dest后面:返回dest地址 实现如下 ...

  3. R语言查看对象的结构:class函数、mode函数、str函数、names函数

    R语言查看对象的结构:class函数.mode函数.str函数.names函数 目录 R语言查看对象的结构:class函数.mode函数.str函数.names函数

  4. c语言str相关的函数

    C语言str系列库函数在不同的库中有不同的实现方法,但原理都是一样的.因为库函数都是没有进行入口参数检查的,并且str系列库函数在面试中经常容易被面试官喊在纸上写某一个函数的实现,因此本文参考了Ope ...

  5. R语言常用基础函数:length函数查看数据对象的长度、str函数查看数据对象的结构、class函数查看数据对象的类型、names函数查看数据对象的名称

    R语言常用基础函数:length函数查看数据对象的长度.str函数查看数据对象的结构.class函数查看数据对象的类型.names函数查看数据对象的名称 目录

  6. R语言学习笔记之str函数

    str函数 即structure,紧凑的显示对象内部结构,即对象里有什么. 例如:当我们head数据的时候,若某列内容太多,则不会显示出来,而用str函数,便可在窗口中逐行显示数据中列的内容. 如下图 ...

  7. H G W S哪一个不是状态函数_数据科学05 | R语言程序设计调试工具与str函数

    调试工具debugging tools ➢条件condition 用于提示运行函数过程中意外事件或错误的发生,编写函数时可以自行创造新的提示条件. message:由message()产生,输出提示信 ...

  8. linux C语言perror()函数(将错误消息写入标准错误)(把一个描述性错误消息输出到标准错误 stderr。首先输出自定义字符串 str,后跟一个冒号,然后是一个空格)

    文章目录 man 3 perror man 3posix perror 20220723 C语言 | perror函数使用详解 man 3 perror PERROR(3) Linux Program ...

  9. C语言atoi()函数用法

    C语言atoi()函数用法 头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为: int atoi (const char * s ...

  10. C语言fgets()函数(以指定长度读取文件中的字符,并存入字符数组变量中)

    C语言fgets()函数(以指定长度读取文件中的字符,并存入字符数组变量中) 需要引入C 标准库 - <stdio.h> 文章目录 描述 声明 参数 返回值 实例 测试(确实只能读n-1个 ...

最新文章

  1. 清除浮动的几种常见方法
  2. 音乐播放器 audio
  3. 《springcloud超级入门》Spring Boot简介《五》
  4. 实时的毛发绘制 szlongman
  5. Kafka系列之-Kafka Protocol实例分析
  6. MES助力中国制药行业 (GMP)
  7. 深度模型 loss为nan解决方案详解
  8. php生成11位不重复数字,php生成8位不重复字符串
  9. matlab 非线性辨识,非线性系统辨识Matlab实现
  10. linux打开txt文件命令_linux系统文件及常用命令
  11. 练习时长两年半的Matlab
  12. asp 在线发送邮件
  13. HTML5期末大作业:设计网站设计——动漫设计响应式(10页) HTML+CSS+JavaScript 动漫设计制作 简单静态HTML网页作品 动漫设计作业成品 学生个人网站模板
  14. 爱查快递API使用讲解
  15. 通过iis启动服务,会产生C:/inetpub/logs/logsFile产生大量的日志,定期清理
  16. 项目经理在汇报中的三个重点
  17. CoinCola可盈可乐研究院2月报 | 加密货币集体上涨
  18. 能远程控制你电脑的苹果充电线正在生产和售卖,走一个?
  19. 国内安装Chrome上的扩展插件(通过Edge扩展插件)
  20. 岑村小学辅导班老师体会有感

热门文章

  1. java根据物流单号查询物流详细
  2. android 反编译 jadx,jadx gui下载 jadx(Android反编译gui工具) v0.6.1 官方版 下载-脚本之家...
  3. 电子元器件B2B电商平台建设方案:优化企业商流,拓宽B2B交易渠道
  4. nodejs使用Moment.js操作日期时间
  5. .net输入汉字转拼音
  6. 消息队列RabbitMQ入门与PHP实战
  7. 泛化、过拟合与欠拟合
  8. 阿里云Centos镜像虚拟机安装方法
  9. 【免费or付费】外卖优惠券公众号的申请以及做法有什么不同?
  10. bitcoin core全节点钱包同步太慢的解决方法及钱包数据文件移动的方法