C/C++字符串使用整理
一、用字符数组存储字符串,这是从C语言中继承的
1、声明
char name[6]={'l','i','u','h','a','\0'};或者 char name[6]="liuha";或者char name[6]={"liuha"};
这几种声明方式都是等价的,字符数组中会自动存储字符串的结束符'\0'
2、字符数字的输入输出
char name[6];
一次性输入输出:cin>>name;cout<<name; //name表示数组中第一个值的地址
循环输入输出:for(int i=0;i<6;i++)
{
cout<<name[i];
cin>>name[i];
}
若数组为二维:char namenum[3][2]
for(int i=0;i<3;i++)
{
cin>>namenum[i]; //一次输入一行
}
3、字符数组的函数(包括头文件string)
strcat(字符数组1,字符数组2); strcpy(字符数组1,字符数组2); strcmp(字符数组1,字符数组2); strlen(字符数组);
二、C++中增加了string头文件
1、声明(包括头文件)
string param="I Love China"; //必须附加头文件string
param中存储的只有“I Love China”,没有字符串结束符
2、字符串的输入输出
cin>>param;cout<<param;
3、字符串的函数
string str1,str2;
连接函数 string str=str1+str2;
比较函数 if(str1>str2)
三、字符串数组
string name[3]={"zhangsan","lisi",“wangwu”};
name[0]中存储的只是“zhangsan”,不包括字符串结束符;
四、string和char的区别
string str1,str2 char str1[MAXSIZE],str2[MAXSIZE] //假定要定义的char类型字符串数组的大小为MAXSIZE
比较:>,==,<,>=,<=等
String类型:str1==str2;str1>=str2;str1<=str2 就不一一列举了,可以看出,string类型字符串比较是非常方便的,直接就像int类型那样直接比就可以了(当然比法是不一样的)
Char类型:strcmp(str1,str2); 有返回值的,str1<str2 返回负数,str1==str2返回为0,str1>str2返回正数。某真心感觉很麻烦,每次比较都要用函数,当然也可以进行运算符重载直接像string类型那样比较,如果不嫌麻烦的话。
复制拷贝:
将str2中内容复制到str1中
string类型:str1=str2 char类型:strcpy(str1,str2);
string类型变量在定义的时候还可以拷贝构造函数,如string str1(str2);
连接:
将str2中内容连接到str1后头
String 类型:str1+=str2 char类型:strcat(str1,str2);
统计字符个数(字符串长度):
统计字符串中字符的个数:
String类型:str1.length(); str1.size();返回的值都是str1的长度
Char 类型:strlen(str1); 返回的值是str1的长度
清空字符串变量中所有数据:
String类型:str1..~string();
或者:str1=””;
将char类型字符串转换成string类型:
char str1=”***”;
string str2(str1);
将string类型转换成char类型:
strcpy(str2,str1.c_str());
前边的str2是char类型的字符串,后边str1是string类型的。注意转换千万别越界
string中的某一个字符是可以直接保存到char类型字符中的,例如
string str=”123”
如ch=str[1];
那么输出ch打印出来的是2
字符串中的某一字符转换成int类型数字:
int num=str[i]-‘0’;
字符串类型与整数类型互相转换:
字符串转换成整数:
用atoi()函数,C语言中头文件是#include<stdlib.h>(C++中是#include<cstdlib>)
用法:atoi只能转char *类型的,如果是string类型的,需先转成char类型
int num=atoi(str);
整数转换成字符串:
Itoa()函数,将整数转换成char类型
itoa(num,str, radix);
num是int类型数字,str是最终转换成char的结果,radix是用多少进制保存,如2、8、10、16进制等
字符串中查找子串:
find()函数:
字符串详细内容见大神博客:
http://blog.csdn.net/laobai1015/article/details/62426137
基本用法
int key=find(str1,str2);
其中str1、str2都是string类型,函数的意思是在str1中查找str2第一次出现的位置并返回这个值,如果不存在则返回-1
strstr()函数:
char *str3=strstr(str1,str2);
str1,str2均为char*类型,函数的意思是在str1中查找str2,返回第一次出现str2的地址,如果没有找到则返回空
例如str1=”My name is”; str2=”name”;
那么返回的str3为“name is”;
string类型中,字符串字串的截取:
substr()函数,用于string类型
string str;
str.substr(startnum, len);
其中 startnum 是起始字符的序号,len是从起始字符开始截取的字符串长度
那么,若要截取str中序号m到n间(其中不包括n)的子字符串则为
str.substr(m, n-m);
strtok()函数,用于char类型
char *str=strtok(str1,str2);
将字符串str1沿着str2切割,返回的是char*
转载于:https://www.cnblogs.com/L-X-H-Blue-Ocean/p/10795727.html
C/C++字符串使用整理相关推荐
- 1.7 编程基础之字符串 15 整理药名 python
http://noi.openjudge.cn/ch0107/15/ """1.7 编程基础之字符串 15 整理药名 http://noi.openjudge.cn/ch ...
- C# 字符串拼接整理_C#字符串拼接方式整理
C# 字符串拼接整理_C#字符串拼接方式整理 一.字符串连接使用+ 注意:此方式多种语言通用,js,java中都可以如此操作 string hello = "Hello"; st ...
- c语言字符串知识整理
c语言字符串知识整理 c 语言中字符串并没有专门的类型定义,而是用连续的字符数组存储,并以转义\0 表示字符串结束,\0是空字符,不能被输出. /*常用字符串初始化方式*/char c1[] = &q ...
- C# 字符串格式化_C# 字符串格式化整理
一.C# 字符串格式化_C# 字符串格式化整理 使用方式1: xxx.ToString(xxxx) 使用方式2:string.Format(xxxx,xxx) 1.占位符格式化 零占位符:固定位数 ...
- php字符串操作整理,《PHP字符串操作》收集整理
<PHP字符串操作>收集整理 echo substr("1234567", 1, 3); 和 echo substr(123456,1, 3); 是一样的 定义 一般用 ...
- 快速记忆python函数-python之格式化字符串速记整理
一.格式化字符串的方式: 1.字符串表达式: 语法格式:"%s' % var 或 "%s %d' % (var1, var2) 说明:%s.%d等为格式类型说明符 例子: > ...
- 数据结构第四章字符串MOOC整理
1.若串S1='ABCDEFG', S2='9898' ,S3='###',S4='012345',执行 concat(replace(S1,substr(S1,length(S2),length(S ...
- php字符串操作整理,PHP 字符串操作整理
' 也能达到格式化的效果 trim():去除字符串 首尾 空白等特殊符号或指定字符序列 ltrim():去除字符串 首 空白等特殊符号或指定字符序列 rtrim():去除字符串 尾 空白等特殊符号或 ...
- Lua中获取字符串长度整理
在 Lua 中,获取字符串长度我们一般使用 #str(不建议使用 string.len(str) )! local str = "abc" local len = #str pri ...
最新文章
- Overload Overwrite Override
- CV:翻译并解读2019《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》第一章~第三章
- linux oracle新建监听,linux 下 oracle图形界面(需配置监听,创建实例)
- webserver接口_SpringBoot内置源码解析WebServer初始化过程
- mysql查看系统可用字符集_MySQL查看所有可用的字符集
- 苹果员工出逃现象严重:人才挽留成大难题
- Android性能优化-Render篇
- MySQL 聚合函数(一)聚合(组合)函数概述
- Cadence下载 安装 与 和谐教程
- SAE J1939协议读取车辆故障码
- Android 中文 API (30) —— CompoundButton.OnCheckedChangeListener
- 三线压力传感器原理_空调压力传感器三线原理图 压力传感器内部原理
- java代码实现Excel irr计算
- 线上bug快速定位小技巧 - chrome实时调试线上js代码
- html怎么设置seo,简单说明一下html相关的seo设置!
- C语言学习2:Hello World!详解
- 招商银行信用卡中心18秋招题解
- 视频播放器(一):流程
- mysql 1146 错误处理
- xy苹果助手未受信任_苹果手机怎么设置信用软件