字符数组

  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. windows环境下永久修改pip镜像源的方法(转)

    一.在windows环境下修改pip镜像源的方法(以python3.7为例) (1):在windows文件管理器中,输入 %APPDATA%,cmd里面输入即可. (2):会定位到一个新的目录下,在该 ...

  2. .netcore读取配置文件

    setting.json { "compilerOptions": { "noImplicitAny": false, "noEmitOnError& ...

  3. 用Photoshop扭曲滤镜工具打造旋转的光束效果

    原文:https://www.w3cschool.cn/photoshopgjjc/dthfn1.html 教程与已往的不同,作者加上了一些新的步骤如锐化等,出来的效果也有所改进.大致过程:先用滤镜制 ...

  4. reconnecting-websocket.js

    websocket是HTML5下一个不错的网络协议解决方案,有一个场景很多猿猿都会遇到,手机锁屏后大约60秒,IOS会自动断开websocket连接,连接丢失了,那我们的数据也就断了.websocke ...

  5. centos6.5上安装redis3.2.1遇见的坑

    解决方法: 安装gcc即可解决 解决方法: make MALLOC=libc 原因分析: 说关于分配器allocator, 如果有MALLOC  这个 环境变量, 会有用这个环境变量的 去建立Redi ...

  6. RocketMQ 启动停止命令

    1.rocketmq的启动   进入rocketMQ解压目录下的bin文件夹 启动namesrv服务:nohup sh bin/mqnamesrv &  日志目录:{rocketMQ解压目录} ...

  7. python3实现链表

    1.链表的实现 a.链表的结构为: b.链表的实现方法; #链表结构实现 私有属性_pro_item是指向下个节点的指针,_item为此节点的值 class ChainDemo(): def __in ...

  8. IDEA添加源码包

    1.在项目中选中左上角的File--->Project Structure 2.选择需要添加的源码包 3.源码已经加入

  9. LBS基站定位

    LBS基站定位(Location Based Service,简称LBS)一般应用于手机用户,它是基于位置的服务,通过电信.移动运营商的无线电通讯网络(如GSM网.CDMA网)或外部定位方式(如GPS ...

  10. day 39 mycql 数据库之约束

    egon笔记: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 UNIQUE KEY (UK) 标识该字段的值是唯一的 AUTO_INCREMENT 标识该字段的值自动增 ...