C语言常用字符串函数
string.h头文件中常用的函数
C 库函数 - strcat()
char *strcat(char *dest, const char *src)
把 src 所指向的字符串追加到 dest 所指向的字符串的结尾
//演示 strcat() 函数的用法
char str1[100];
char str2[100];
gets(str1); //输入abcd
strcat(str1, "efg");
//或者也可以这样写
//gets(str2); //输入efg
//strcat(str1, str2);
打印出的结果是abcdefg
返回值:该函数返回一个指向最终的目标字符串 dest 的指针
C 库函数 - strcpy()
char *strcpy(char *dest, const char *src)
把 src 所指向的字符串复制到 dest
//演示 strcpy() 函数的用法
char str1[100];
char str2[100];
strcpy(str1, "abcd"); //用于字符串的输入
strcpy(str2, str1); //或字符串的拷贝
打印出的结果是abcd
返回值:该函数返回一个指向最终的目标字符串 dest 的指针
C 库函数 - strcmp()
int strcmp(const char *str1, const char *str2)
把 str1 所指向的字符串和 str2 所指向的字符串进行比较
//演示 strcpy() 函数的用法
char str1[100];
char str2[100];
int flg; //记录strcmp()的返回值
strcpy(str1, "abc"); //输入abc
strcpy(str2, "xyz"); //输入xyz
flg=strcmp(str1, str2); //以ASCALL码比较
if(flg > 0)
printf("str1 > str2");
else if(flg < 0)
printf("str1 < str2");
else if(flg == 0)
printf("str1 = str2");
打印出的结果是str1 < str2
返回值:
- 如果返回值 < 0,则表示 str1 小于 str2
- 如果返回值 > 0,则表示 str2 小于 str1
- 如果返回值 = 0,则表示 str1 等于 str2
C 库函数 - strlen()
size_t strlen(const char *str)
计算字符串 str 的长度,直到空结束字符,但不包括空结束字符
其中size_t 这是无符号整数类型,它是 sizeof 关键字的结果
//演示 strlen() 函数的用法
char str[100];
int l; //记录字符串长度
strcpy(str,"abcd"); //输入abcd
l=strlen(str);
打印出的结果是4
返回值:该函数返回字符串的长度
c库函数- memset()
void *memset(void *str, int c, size_t n)
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符,通常用作批量赋值。
//演示 strlen() 函数的用法
char str[10]={'\0'};//全部初始化为0
int arr[10]={1,1,1,1,1,1,1,1,1,1};//全部初始化为1
memset(str,'a',5);//5*sizeof(char) //前5个值赋值为a
memset(str,'a',sizeof(str)-1); //所有值赋值为a //‘\0’结尾
memset(arr,0,5*sizeof(int)); //前5个值赋值为0;
memset(arr,0,sizeof(arr)); //所有值赋值为0;
//注:第三个参数为赋值的字节数
//sizeof(数组名)为所有值,sizeof(类型)为一个值
//对数组来说,只能初始化为0,或者-1
打印出的结果是
//aaaaa
//aaaaaaaaa
//0 0 0 0 0 1 1 1 1 1
//0 0 0 0 0 0 0 0 0 0
返回值:该值返回一个指向存储区 str 的指针
扩展:
C 库函数 - memcpy():C 库函数memcpy()
void *memcpy(void *str1, const void *str2, size_t n)
从存储区 str2 复制 n 个字符到存储区 str1.
str2可从任意成员处开始,如memcpy(str1,str2+3, 6);// 从第 3 个字符开始复制,连续复制 6 个字符
返回值: 该函数返回一个指向目标存储区 str1 的指针
C 库函数 - memcmp(): C 库函数 - memcmp()
int memcmp(const void *str1, const void *str2, size_t n)
把存储区 str1 和存储区 str2 的前 n 个字节进行比较
返回值:
- 如果返回值 < 0,则表示 str1 小于 str2
- 如果返回值 > 0,则表示 str2 小于 str1
- 如果返回值 = 0,则表示str1 等于 str2
以上为一些string.h头文件中常用的函数,资料来自菜鸟驿站C 标准库 - <string.h>
C语言常用字符串函数的更多相关文章
- C语言常用字符串函数总结
ANSI C中有20多个用于处理字符串的函数: 注意:const 形参使用了const限定符,表示该函数不会改变传入的字符串.因为源字符串是不能更改的. strlen函数: 函数原型:unsigned ...
- php常用字符串函数小结
php内置了98个字符串函数(除了基于正则表达式的函数,正则表达式在此不在讨论范围),能够处理字符串中能遇到的每一个方面内容,本文对常用字符串函数进行简单的小结,主要包含以下8部分:1.确定字符串长度 ...
- [转]MySQL常用Json函数和MySQL常用字符串函数
MySQL常用Json函数:https://www.cnblogs.com/waterystone/p/5626098.html MySQL常用字符串函数:https://www.cnblogs.co ...
- js进阶js中支持正则的四个常用字符串函数(search march replace split)
js进阶js中支持正则的四个常用字符串函数(search march replace split) 一.总结 代码中详细四个函数的用法 search march replace split 二.js进 ...
- Delphi常用字符串函数
Delphi常用字符串函数 一.字符转换函数1.ord(input[i])返回字符表达式 input 左端起第 I 字符的ASCII 码值.2.CHAR()将ASCII 码转换为字符.如果没有输入 ...
- C语言入门(6)——C语言常用数学函数
在编码过程中会经遇到数学运算,幸运的是C语言提供了非常丰富的数学函数库. 在数学中使用函数有时候书写可以省略括号,而C语言要求一定要加上括号,例如sin(pi/2)这种形式.在C语言的术语中,pi/2 ...
- MySQL最常用字符串函数
字符串函数 是最常用的的一种函数,在一个具体应用中通常会综合几个甚至几类函数来实现相应的应用: 1.LOWER(column|str):将字符串参数值转换为全小写字母后返回 mysql> sel ...
- MySQL常用字符串函数
字符串函数 是最常用的的一种函数,在一个具体应用中通常会综合几个甚至几类函数来实现相应的应用: 1.LOWER(column|str):将字符串参数值转换为全小写字母后返回 mysql> sel ...
- PHP 常用字符串函数整理
PHP语言中的字符串函数也是一个比较易懂的知识.今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库. 1.查找字符位置函数 strpos($str ...
随机推荐
- linux 平台实现 web 服务器的自动化发布 (纯shell 版本,存在ssh 不能自动退出问题,待解决)
转至:https://www.cnblogs.com/vmsky/p/13824172.html 背景说明 1.集团OA系统上线,web App 部署在6台服务器中,因项目初期,每次更新都需要进行大量 ...
- oj教程--贪心
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解. 贪心算法不是对所有问题都能得到整体最优解,关键是 ...
- 移动C盘的.gradle文件
今天参照一位博主的方法,移动了C盘下的.gradle文件,解放C盘,就是设置了一下环境变量,然后就把gradle文件移过去了,运行是可以运行,但是再看其他博主的方法都需要AndroidStudio下的 ...
- jprofiler 查看程序内存泄露
在最近的工作中,通过JProfiler解决了一个内存泄漏的问题,现将检测的步骤和一些分析记录下来,已备今后遇到相似问题时可以作为参考. 运行环境: Tomcat6,jdk6,JProfiler8 内存 ...
- PyTorch深度学习实践——反向传播
反向传播 课程来源:PyTorch深度学习实践--河北工业大学 <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili 目录 反向传播 笔记 作业 笔记 在之前课程中介绍的线性 ...
- QT:Unknown module(s) 与MaintenanceTool.exe更新、添加组件
https://www.cnblogs.com/lisongzzx/p/13861430.html 原因1:新安装的Qt Creator中并没下载下来相关组件 解决方法: 1.在Qt安装目录下找到Ma ...
- python 编辑器提示 do not use bare except
在捕获异常时,应该尽可能指定特定的异常,而不是只使用 except 语句. 比如说,except 语句会捕获 KeyboardInterrupt 和 SystemExit 异常,但 KeyboardI ...
- 【计题04组01号】Java面试问答题
写作前面 本书内容摘自<Java程序员面试笔试宝典> 很多同学在面试时其实有个误区,认为准备的东西越详细越好 其实不是,就和批试卷一样,写长篇大论其实并不会必然加分 老师阅卷时间有限只会抓 ...
- 『现学现忘』Docker基础 — 14、Docker的卸载
目录 1.查询Docker安装过的包 2.卸载Docker软件包 3.删除残留目录 4.验证是否卸载 5.20版本Docker卸载(官方文档) 1.查询Docker安装过的包 执行yum list i ...
- PHP中http_build_query函数×tamp自动转化为×的解决办法
出现这个原因只是在浏览器上显示的问题,右键查看源代码是没有问题的. 如果不想的看到只要让代码在显示在浏览器之前替换掉就可以了 /** * url地址参数 * @param $arr * @return ...