C++中关于字符串的一些API
参考资料:http://www.runoob.com/cplusplus/cpp-strings.html
一、前言
不管是在编写何种语言程序,需要从输入设备中获取数据的需求很频繁,在这类频繁的应用场景中,对于string类型的数据进行操作,占了很大的一部分。加上本人对sting类型数据的操作并不是很熟悉,借此机会先简单学习一下。
二、主要的一些API
在C++中,字符串的表现形式主要有两种:一是C语言风格的字符串,一个是C++引入的string类类型。字符串实质上是使用null字符"\0"终止的一维字符数组。
1、strcpy(char* s1, const char*s2)
函数功能:复制字符串s2到s1。
2、strcat(char* s1, const char* s2)
函数功能:连接字符串s2到字符串s1的末尾【如果在进行连接操作之后,s1的长度超过的s1的buffer size,编译会出错】。
3、strlen(const char* s1)
函数功能:返回字符串s1的长度(int)。
4、strcmp(const char* s1, const char* s2)
函数功能:比较字符串s1和s2,如果二者是相同的,返回0;如果s1 < s2,返回值小于0;如果s1 > s2,返回值大于0。
5、strchr(char* s1, int ch)
函数功能:返回一个指针(char *),指向的是在字符串s1中字符ch第一次出现的位置。
6、strstr(const char* s1, const char* s2)
函数功能:返回一个指针(char *),指向字符串s1中字符串s2的第一次出现的位置。
C++中关于字符串的一些API的更多相关文章
- 使用Microsoft Roslyn提取C#和VB.NET源代码中的字符串常量
Microsoft Roslyn是微软.NET“编译器即服务(Compiler as a Service)”的主要产品,它提供了开放的编译器API,并为源代码产生.分析和重构提供了新一代的语言对象模型 ...
- 使用C#程序处理PowerPoint文件中的字符串
最近, 有同事偶然发现Microsoft Office PowerPoint可以被看作是一个压缩包,然后通过WinRAR解压出来一组XML文件.解压出来的文件包括: 一个索引文件名称为:[Conte ...
- Java OOP中的字符串篇
字符串的三大特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String.St ...
- 从源代码的角度聊聊java中StringBuffer、StringBuilder、String中的字符串拼接
长久以来,我们被教导字符串的连接最好用StringBuffer.StringBuilder,但是我们却不知道这两者之间的区别.跟字符串相关的一些方法中总是有CharSequence.StringBuf ...
- QT中的字符串处理函数
Fn 1 : arg 这个函数的具体声明不写了,它有20个重载,典型的示例代码如下: 1: #include <QtCore/QCoreApplication> 2: #include & ...
- 在Swift中使用遗留的C API
Swift的类型系统的设计目的在于简化我们的生活,为此它强制用户遵守严格的代码规范来达到这一点.毫无疑问这是一件大好事,它鼓励程序员们编写 更好更正确的代码.然而,当Swift与历史遗留的代码库.特别 ...
- Chrome浏览器扩展开发系列之十六:扩展中可用的Chrome浏览器API
除了Chrome浏览器支持的chrome.* API之外,Chrome浏览器扩展还可以使用Chrome浏览器为Web页面或Chrome app提供的APIs.对于Chrome浏览器2支持的API,还可 ...
- 【译】Java中的字符串字面量
原文地址:https://javaranch.com/journal/200409/ScjpTipLine-StringsLiterally.html 作者:Corey McGlone 让我们由一个简 ...
- JavaScript中对数组和数组API的认识
JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...
随机推荐
- Python输入数组(一维数组、二维数组)
一维数组: arr = input("") //输入一个一维数组,每个数之间使空格隔开 num = [int(n) for n in arr.split()] //将输入每个数以空 ...
- 考研计算机复试(C语言复试笔试题)(精华题选)
1.以下选择中,正确的赋值语句是(C) A.a=1,b=2 B.j++ C.a=b=5; D.y=(int)x 解析:选项A.B.D都无分号 变量 = 表达式;//赋值语句是一定带分号的 int a= ...
- 手机端扫描证件识别SDK
手机端扫描证件识别SDK 一.手机端扫描证件识别SDK应用背景 这些年,随着移动互联网的的发展,越来越多的公司都推出了自己的移动APP,这些APP多数都涉及到个人身份证信息的输入认证(即实名认证),如 ...
- mybatis(二)
一级缓存和二级缓存 mybatis一二级缓存测试实例: package com.atguigu.mybatis.test; import java.io.IOException; import jav ...
- *args和**kwargs的区别
*args和**kwargs表示可变长度的参数. *args是元组类型: **kwargs是字典类型: 注意:arg.*args.**kwargs三个参数的位置必须是固定的,否则会报错.
- JAVA中接口与抛出异常的相关知识
1.接口概念:接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成. 类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只 ...
- 最近学习的 Node.js 数组_函数
数组的排序,用到了箭头函数 let arr=[, , , , , , ]; /* arr.sort(function (n1, n2){ return n1-n2; }); */ // 等价于上面的写 ...
- Groovy学习笔记-动态类型
1.respondsTo方法判断对象是否存在指定方法 interface IHelp{ void helpMoveThings() } class Man implements IHelp{ void ...
- SDN 软件定义网络----学习1
原文地址https://www.infoq.cn/article/sdn-and-cloud-network 1.1,什么是 SDN? 什么是 SDN?SDN 的官方解释上提出了 SDN 的三个特性: ...
- 修改权限linux
1.更改目录所有者命令:chown -R 用户名称 目录名称2.更改目录权限命令:chmod -R 755 目录名称 nginx在不同目录下需要给与全部权限才可以