字符数组

  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. k8s 1.12.6版的kubeadm默认配置文件

    这个对于提高安装配置的便捷性,相当有帮助. 命令如下: kubeadm config print-default 输出如下: apiEndpoint: advertiseAddress: 1.2.3. ...

  2. Spring MVC基础知识整理➣环境搭建和Hello World

    概述 Spring MVC属于SpringFrameWork的产品,采用Model-View-Controller进行数据交互,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...

  3. python之 可迭代 迭代器 生成器

    0. 1.总结 (1) (a)iterable 可迭代(对象) 能力属性 指一个对象能够一次返回它的一个成员,for i in a_list 而不需要通过下标完成迭代. 例子包括所有序列类型(list ...

  4. 基于STM32单片机光学指纹识别模块(FPM10A)全教程(基于C语言)

    本文转载,其来源在参考中:1,稍加修改,因为近期使用到这个模块,故而加以整理! 1.平台 首先我使用的是 奋斗 STM32 开发板 MINI板 基于STM32单片机光学指纹识别模块(FPM10A)全教 ...

  5. 【AtCoder】AGC032

    AGC032 A - Limited Insertion 这题就是从后面找一个最靠后而且当前可以放的,可以放的条件是它的前面正好放了它的数值-1个数 如果不符合条件就退出 #include <b ...

  6. python__int 部分内部功能介绍

    查看创建的对象的类型: age=18 print(type(age)) 结果: <class 'int'> x.bit_length():返回二进制的位数 Python中进制的转换: Py ...

  7. Flink--DateSet的Transformation简单操作

    flatMap函数 //初始化执行环境 val env: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvironment //加 ...

  8. Substrings kmp

    Problem Description You are given a number of case-sensitive strings of alphabetic characters, find ...

  9. day 68 django 之api操作 | jQueryset集合与对象

    我们的orm里面分为: jQueryset集合, 还有对象, 我们的jqueryset集合里面可以有多个对象,这句话的意思就是我们的对象是最小的单位,不可以再拆分了,我们的jQueryset集合就相当 ...

  10. day40 mycql 视图,触发器,存储过程,函数

    视图,触发器,存储过程,自定义函数 -- 回顾 1.mysql 约束 1.非空 not null 2. 主键约束 primary key 3. 唯一约束 unique 4. 外键约束 foreign ...