关于string.h中字符串的操作
string.h中字符操作的函数
注意:**对字符数组的多次操作需要进行赋初值。或者善于用memset()函数进行清空数组的操作。** 否则容易出现错误。 string.h文件中函数的用法加上本人的个人见解。 标注有返回值的 返回值都是会用到的 如果没标注返回值则说明返回值不常用。
1、函数名:strcpy 字符串拷贝 (注意:该函数 只允许把指针拷贝到数组中,或者数组拷贝到数组中, 不允许把任何东西拷贝到指针中,如果要想拷贝到指针中可以进行复制运算‘=’。使用 ‘=’的话只能把指针付给指针才能达到字符串复制的效果,如果是数组的话只能复制一个 字符。)
函数原型: char *strcpy(char *str1,char const *str2);
<-------<------<-----<-----<-----------
2、函数名:strcat 字符串连接
char *strcat(char *destin, char const *source);
<-------<----
3、函数名:strchr 查找给定字符所在字符串中的位置
char *strchr(char *str,char c);
返回值为 真 说明 已 查找到 该字符;
返回值为 假 说明 没有 查找到 该字符。
4、函数名:strcmp 字符串比较
int *strcmp(char *str1,char *str2);
返回值为 0 的话说明两个 字符串 相等;
返回值 >0 的话说明 str1>str2;
5、函数名:strncmp 字符串前N个字节比较
int *strncmp(char str1,str2,unsigend maxle);
返回值为 0 的话说明两个字符串 相等;
返回值为 >0 的话说明 str1>str2;
返回值为 <0 的话说明 str1<str2;
6、函数名:strcspn 查找字符串中第一个给定字符集内容段
int strcspn(char * str1,char *str2);
返回值为 查到的 第一个字符 所在的位置。
7、函数名:strdup 将字符串拷贝到新建的字符串中
char *strdup(char *str) ;
返回值 为 str字符串中的内容
8、函数名:stricmp 以大小写不敏感的方式比较两字符串
int stricmp(char *str1,char *str2);
返回值同strcmp() ,strncmp() ;
9、函数名:strerror 返回指向错误信息的指针
char *strerror(int errnum);
使用实例:char *buf= NULL;
buf = strerror(errno);
返回值错误的信息。
10、函数名:strncpy 复制字符串前N个字节
char *strncpy(char *str1,char const *str2,int n);
返回值为 *str1 .
11、函数名:strnicmp 比较字符串前 n 个字节的大小 (不区分大小写)
int strnicmp(char *str1,char *str2);
返回值同 stricmp。
12、函数名:strnset 将一个字符串的前n个字符都设为指定字符
char *strnect(char *str,char ch,unsigned n);
13、函数名:strpbrk 在字符串str1中找str2任意一个字符最先出现的位置
char *strpbrk(char *str1,char *str2);
返回值 如果有则返回 str1中第一个匹配的字符以及之后的字符组成的字符串。
(可以自己练习一下,打印一下返回值,同样所有的函数都可以自己打印一下返回值。)
返回值 如果没有 则返回NULL
14、函数名:strrchr 在字符串中查找字符最后出现的位置
char *strrchr(char *str1,char ch);
返回值 如果有则返回 包含最后一个匹配的字符与其后面的字符组成的字符串 的指针。
返回值 如果没有则返回 false
15、函数名:strrev 将一个字符串的顺序颠倒过来
char * strrev(char *str);
返回值 颠倒顺序之后的字符串的指针。
16、strset 将一个字符串所有的字符全部都设置为一个字符
char *strset(char *str,char ch);
返回值 为替换后的字符串。
17、strspn
功 能: 在串中查找指定字符集的子集的第一次出现
用 法: int strspn(char *str1, char *str2);
18、strstr
功 能: 在串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
返回包括找到的那个字符串以及之后的字符串组合成的字符串的指针;
19、strtod
功 能: 将字符串转换为double型值
用 法: double strtod(char *str, char **endptr);
20、strtok
功 能: 查找由在第二个字符串中指定的分界符分隔开的单词
用 法: char *strtok(char *str1, char *str2)
21、strtol
功 能: 将串转换为长整数
用 法: long strtol(char *str, char **endptr, int base);
22、strupr
功 能: 将字符串中的小写字母转换为大写字母
用法: char *strupr(char *str);
返回转换后的字符串的指针。
23、swab
功 能: 交换相邻的两个字节(交换to里面的字节,并且存储到from里面,
第三个参数是to里面的字节数)。
用 法: void swab (char *from, char *to, int nbytes)
关于string.h中字符串的操作的更多相关文章
- javascript中字符串常用操作整理
javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...
- Python3 与 C# 面向对象之~继承与多态 Python3 与 C# 面向对象之~封装 Python3 与 NetCore 基础语法对比(Function专栏) [C#]C#时间日期操作 [C#]C#中字符串的操作 [ASP.NET]NTKO插件使用常见问题 我对C#的认知。
Python3 与 C# 面向对象之-继承与多态 文章汇总:https://www.cnblogs.com/dotnetcrazy/p/9160514.html 目录: 2.继承 ¶ 2.1.单继 ...
- 线程安全使用(四) [.NET] 简单接入微信公众号开发:实现自动回复 [C#]C#中字符串的操作 自行实现比dotcore/dotnet更方便更高性能的对象二进制序列化 自已动手做高性能消息队列 自行实现高性能MVC WebAPI 面试题随笔 字符串反转
线程安全使用(四) 这是时隔多年第四篇,主要是因为身在东软受内网限制,好多文章就只好发到东软内部网站,懒的发到外面,现在一点点把在东软写的文章给转移出来. 这里主要讲解下CancellationT ...
- LoadRunner中字符串的操作
LoadRunner中字符串的操作 LoadRunner中常用的字符串操作函数有: strcpy(destination_string, source_string); ...
- javascript中字符串常用操作总结、JS字符串操作大全
字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...
- js--javascript中字符串常用操作总结、JS字符串操作大全
字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...
- javascript中字符串常用操作总结
String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不 ...
- String类中常用的操作
一.获取: 1.获取字符串的长度(注意是方法,不是跟数组的属性一样的) int length(); 1 public static void getLength(){ 2 String s = &qu ...
- C标准库string.h中几个常用函数的使用详解
strlen 计算字符串长度 size_t strlen(const char *str) 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符. 函数实现: int Strlen(cons ...
随机推荐
- 【Alpha】——Seventh Scrum Meeting
一.今日站立式会议照片 二.每个人的工作 成员 昨天已完成的工作 今天计划完成的工作 李永豪 将项目做成APK 用户界面改善 郑靖涛 协助设计账目一览表板块 用户界面改善 杨海亮 查询功能测试 用户界 ...
- 学号:201521123116 《java程序设计》第七周学习总结
1. 本周学习总结 2. 书面作业 Q1 ArrayList代码分析 1.1 解释ArrayList的contains源代码ArrayList的contains源代码 1.2 解释E remove(i ...
- 201521123044 《Java程序设计》第5周学习总结
1. 本章学习总结 2. 书面作业 1. 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 答: ...
- 201521123010 《Java程序设计》第3周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...
- 201521123002 《Java程序设计》第1周学习总结
1. 本章学习总结 学习使用Markdown编写文章 jdk的安装和环境变量的设置 java的历史,目前java有三大平台,javaSE,javaEE及javaME.其中javaSE我们会经常用到,由 ...
- linux segmentation fault记录
文章将记录linux学习使用中出现的各种segmentation fault,持续更新,希望对看到人有所帮助 1. linux pcap segmentation fault -- 2013.11.2 ...
- video标签
Video标签的使用 Video标签含有src.poster.preload.autoplay.loop.controls.width.height等几个属性, 以及一个内部使用的标签<sour ...
- Python爬虫总结
Python爬虫的原理:1通过URLopen()来获取到url页面, 这个过程可以加代理 2这个页面上都是字符串,所以我们而通过字符串查找的方法来获取到目标字符串,用到了正则来匹配目标re.finda ...
- JPA继承方式
在JPA中,实体继承关系的映射策略共有三种:单表继承策略(SINGLE_TABLE).Joined策略和Table_PER_Class策略. 1.单表继承策略 单表继承策略,父类实体和子类实体共用一张 ...
- linux文件权限解析(摘)
用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建 ...