字符数组

  1. char c1[] = "ch111";        \\字符串字面值初始化。!!!字符串字面值末尾处有个\0空字符,也会被copy到字符数组中去,记得预留空间。
  2. char c1[ ] ={'c', 'b', 'n', 'm'};    \\列表初始化

初始化string对象的方式:

  1. string s1;                \\空串
  2. string s2(s1);          \\s2是s1的副本
  3. string s2=s1;                \\同上
  4. string s1("value");         \\ 字面值初始化??
  5. string s1="value";           \\拷贝初始化
  6. 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中去。

字符数组 & 字符串的更多相关文章

  1. c语言指针字符串与字符数组字符串的区别

    #include <stdio.h> int main() { //字符串常量,存放于内存常量区. //常量区区的内存具有缓存机制, //当不同指针指向的常量值相同时, //其实这些指针指 ...

  2. c字符和字符数组/字符串

    一维和二维的都可以:一维的情况如下:1,char string0[10];2,char string1[]="prison break";3,char string2[100]=& ...

  3. (PASS)字符数组\字符串数组 和 字符串 的相互转换

    1,字符数组 转换为 字符串 java可以使用两种方法直接将字符数组转为字符串. 方法1:直接在构造String时转换. char[] data = {'a', 'b', 'c'}; String s ...

  4. Delphi的字符串、PChar和字符数组之间的转换

    参考:http://my.oschina.net/kavensu/blog/193719 以下的各种方法都是我在Delphi 6的环境下测试成功的,可能根据你的开发环境.不同的上下文语境……有一些可能 ...

  5. 字符类型char、字符串与字符数组、字符数组与数据数组区别

    字符类型是以ASCII码值运算的:小写字母比相应的大写字母大32,其中A=65,a=97 Esc键 27(十进制).'\x1B'(十六进制).'\33'(八进制) 转义字符:\0 空字符     AS ...

  6. Delphi字符串、PChar与字符数组之间的转换

    来自:http://my.oschina.net/kavensu/blog/193719 ------------------------------------------------------- ...

  7. 字符串 字符数组, pcha string 之间的相互转化, 很重要。 很蛋疼

    http://www.cnblogs.com/del88/p/5448981.html Delphi字符串.PChar与字符数组之间的转换 来自:http://my.oschina.net/kaven ...

  8. C#中流,字节,字符,字符串

    首先要明白它们本身是由什么组成的: 流:二进制 字节:无符号整数 字符:Unicode编码字符 字符串:多个Unicode编码字符 那么在.net下它们之间如何转化呢? 一般是遵守以下规则: 流-&g ...

  9. String与包装类_字节数组_字符数组间的转换

    1.字符串与基本数据类型,包装类之间的转换 2.字符串与字节数组间的转换 3.字符串与字符数组间的转换 4.String与StringBuffer ①String---->StringBuffe ...

随机推荐

  1. 优先选择nullptr而不是0和NULL

    我们知道:0是一个int,而不是一个指针.如果C++在一个只有指针才能够使用的上下文中发现它只有一个0,那么它会勉强将0解释成空指针,但那时一种倒退行为.C++的主要方针是0就是一个int,而不是指针 ...

  2. 论文阅读笔记十一:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabv3)(CVPR2017)

    论文链接:https://blog.csdn.net/qq_34889607/article/details/8053642 摘要 该文重新窥探空洞卷积的神秘,在语义分割领域,空洞卷积是调整卷积核感受 ...

  3. JavaMail在Windows平台下正常发送邮件,部署到Linux后则发送失败

    问题: 在本机(Windows)环境下可以成功发送邮件,但部署到Linux服务器上后不能成功发送,前台不提示错误或提示502. linux下日志提示:javamail isssl false.... ...

  4. Nancy 寄宿IIS

    一:简介 Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方 ...

  5. 修改Elasticsearch的settings

    解决:Limit of total fields [1000] in index [nginx-access-log] has been exceeded" 的问题 PUT http://1 ...

  6. PHP查询数据库较慢,nginx 超时 返回 504:Sorry, the page you are looking for is currently unavailable.

    现象: PHP查询数据库较慢,大约 60s 后 nginx 返回 504:Sorry, the page you are looking for is currently unavailable. 检 ...

  7. Flink--connect

    用来将两个dataStream组装成一个ConnectedStreams 而且这个connectedStream的组成结构就是保留原有的dataStream的结构体:这样我们就可以把不同的数据组装成同 ...

  8. 如何用 Python 模糊搜索文件

    一.我的文件在哪里? 1.告诉计算机文件在哪 使用路径描述位置 绝对路径——从根目录写到底 内置模块OS 路径 目录 文件 其他系统操作 2.描述文件的特征 用条件判断来筛选 3.对比后打印文件名 用 ...

  9. day19 正则,re模块

    http://www.cnblogs.com/Eva-J/articles/7228075.html  所有常用模块的用法 正则的规则: 在一个字符组里面枚举合法的所有字符,字符组里面的任意一个字符和 ...

  10. oracle中计算百分比,并同时解决小数点前0不显示的问题

    select a.catalog_name,decode(substr(trunc((a.s/b.count2),4)*100||'%',0,1),'.',replace(trunc((a.s/b.c ...