字符数组 & 字符串
字符数组
- char c1[] = "ch111"; \\字符串字面值初始化。!!!字符串字面值末尾处有个\0空字符,也会被copy到字符数组中去,记得预留空间。
- char c1[ ] ={'c', 'b', 'n', 'm'}; \\列表初始化
初始化string对象的方式:
- string s1; \\空串
- string s2(s1); \\s2是s1的副本
- string s2=s1; \\同上
- string s1("value"); \\ 字面值初始化??
- string s1="value"; \\拷贝初始化
- string s1(3, 'c'); \\3个c组成的串
string 的一些常用操作:
1. toCharArray()函数: 将字符串对象中的字符转换为一个字符数组;例如
String s1="abcd"; char[] ch=s1.toCharArray();
2. string::nops 用来表示不存在的位置,可以用在遍历string时,到结尾结束的截止条件。
string str;
pos=str.find_first_of("h");
if(pos!=string::npos)
{..
....
}
//npos是一个常数,用来表示不存在的位置,类型一般是std::container_type::size_type
3. substr(start, length)函数:
string s("12345asdf");
string a=s.substr(0,5); //从0开始的5个字符
默认时的长度为从开始位置到尾,只有一个参数时,可以理解为从p开始的到结尾的子字符串。
4 . cctype头文件中的函数:返回bool值
isalpha(c); //c为字母;
isdigit(c) //c is 数字
isalnum(c) //c 为字母或数字
5. c_str()函数 将string转为const char *类型。一般和strcpy配合使用。eg:
string s("hello");
//char *a;
char b[20];
strcpy_s(b, s.c_str());
cout<<b<<endl;
6. getline()函数常用:
()
istream& getline (istream& is, string& str, char delim);
istream& getline (istream&& is, string& str, char delim);
()
istream& getline (istream& is, string& str);
istream& getline (istream&& is, string& str);
可以用来写c++中没有的split函数,如下:
void split(const string &s, vector<string> &ret, const char &c)
{
stringstream ss(s);
string t;
while (getline(ss, t, c))
ret.push_back(t);
}
c是分隔符,把分隔符左右的给string给存到ret中去。
字符数组 & 字符串的更多相关文章
- c语言指针字符串与字符数组字符串的区别
#include <stdio.h> int main() { //字符串常量,存放于内存常量区. //常量区区的内存具有缓存机制, //当不同指针指向的常量值相同时, //其实这些指针指 ...
- c字符和字符数组/字符串
一维和二维的都可以:一维的情况如下:1,char string0[10];2,char string1[]="prison break";3,char string2[100]=& ...
- (PASS)字符数组\字符串数组 和 字符串 的相互转换
1,字符数组 转换为 字符串 java可以使用两种方法直接将字符数组转为字符串. 方法1:直接在构造String时转换. char[] data = {'a', 'b', 'c'}; String s ...
- Delphi的字符串、PChar和字符数组之间的转换
参考:http://my.oschina.net/kavensu/blog/193719 以下的各种方法都是我在Delphi 6的环境下测试成功的,可能根据你的开发环境.不同的上下文语境……有一些可能 ...
- 字符类型char、字符串与字符数组、字符数组与数据数组区别
字符类型是以ASCII码值运算的:小写字母比相应的大写字母大32,其中A=65,a=97 Esc键 27(十进制).'\x1B'(十六进制).'\33'(八进制) 转义字符:\0 空字符 AS ...
- Delphi字符串、PChar与字符数组之间的转换
来自:http://my.oschina.net/kavensu/blog/193719 ------------------------------------------------------- ...
- 字符串 字符数组, pcha string 之间的相互转化, 很重要。 很蛋疼
http://www.cnblogs.com/del88/p/5448981.html Delphi字符串.PChar与字符数组之间的转换 来自:http://my.oschina.net/kaven ...
- C#中流,字节,字符,字符串
首先要明白它们本身是由什么组成的: 流:二进制 字节:无符号整数 字符:Unicode编码字符 字符串:多个Unicode编码字符 那么在.net下它们之间如何转化呢? 一般是遵守以下规则: 流-&g ...
- String与包装类_字节数组_字符数组间的转换
1.字符串与基本数据类型,包装类之间的转换 2.字符串与字节数组间的转换 3.字符串与字符数组间的转换 4.String与StringBuffer ①String---->StringBuffe ...
随机推荐
- 属性(property)的特性(attribute)
属性:对象中可以保存数据的变量 属性的特性: 数据属性的特性(默认值是false):value.writable(可写否) .enumerable(可否枚举).configurable(可否重 ...
- 基于“MVC”框架集设计模式,开发用户管理系统!
MVC----(Model View Controller)设计模型: M:表示业务数据和业务规则.包括DAO(beans).DBHelper(DBHelper),用于封装数据库连接,业务数据库处理. ...
- 如何让谷歌浏览器支持跨域访问(AJAX) AJAX调试跨域接口
以谷歌最新版本为例(2018) 1.在电脑上新建一个目录,例如:C:\MyChromeDevUserData 2.在属性页面中的目标输入框里加上 --disable-web-security -- ...
- Android Studio 打包签名教程
android studio apk第三方加固与签名,混淆打包 https://jingyan.baidu.com/article/f25ef2545386af482c1b828f.html Andr ...
- [转] Nodejs 进阶:Express 常用中间件 body-parser 实现解析
写在前面 body-parser是非常常用的一个express中间件,作用是对post请求的请求体进行解析.使用非常简单,以下两行代码已经覆盖了大部分的使用场景. app.use(bodyParser ...
- html知识杂记
1.HTML中不支持 空格.回车.制表符,它们都会被解析成一个空白字符.2.HTML 是用来描述网页的一种语言.3.元素的内容是开始标签与结束标签之间的内容.4.即使 <br> 在所有浏览 ...
- bzoj2683&&bzoj4066
题解: 前一题不是强制在线,后一题是强制在线 树套树空间会炸 说一下cdq分治+树状数组 首先我们利用cdq分治使得查询和操作保证先后关系 然后矩阵查询变成4个矩阵的差 那么我们就可以运用扫描线的方法 ...
- centos 6.9安装python 3.6
.下载源码包在官网按照需要下载到本地 wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz .解压源码包 tar -xvf Pyt ...
- mysql主从复制(半同步方式)
mysql主从复制(半同步方式) 博客分类: MySQL mysqlreplication复制 一.半同步复制原理介绍 1. 优点 当事务返回客户端成功后,则日志一定在至少两台主机上存在. MySQ ...
- seafile数据的备份与恢复
seafile数据备份包括MySQL数据备份与seafile,seahub数据备份两个部分.所以在备份的时候需要注意这一点. 我的存储底层用glusterfs数据共享,为了防止一台服务器宕机以后另一台 ...