字符数组

  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. AI-视图组件-五个接口的最终简化版

    五个接口最终版 #url.py # 序列化最贱版本 url(r'^customer/$', views.CustomerView.as_view({"get":"list ...

  2. fastJson常用方法总结

    1.了解json json就是一串字符串 只不过元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值 ...

  3. 饮冰三年-人工智能-linux-02 初始Linux

    参考博客:https://www.cnblogs.com/linhaifeng/articles/6045600.html 1:初始Linux命令 右击,开启终端,或者ctrl+alt[F1-F6]的 ...

  4. jexus linux x64 [专业版] 安装和配置https

    一.环境 操作系统:centOs7-x64 二.准备工作 购买SSL/TLS证书 三.部署 1.首先查看“/lib”或“/usr/lib”等系统库文件夹中是否有SSL库文件的名字,该文件名应该是“li ...

  5. 学习笔记: 反射应用、原理,完成扩展,emit动态代码

    using Ruanmou.DB.Interface; using Ruanmou.DB.MySql; using Ruanmou.DB.SqlServer; using Ruanmou.Model; ...

  6. 移动端开发demo—移动端web相册(一)

    本文主要是介绍开发移动端web相册这样一案例用到的前置知识. 一.移动端样式 移动端更接近手机原生的方式. 如下是一个angular mobile的demo的例子: 移动端demo做成这样的好处: 在 ...

  7. vscode插件篇

    Document This 注释插件 能够自动识别function中的参数 Ctrl + alt + D

  8. ArcGIS Engine 10.x许可代码

    相比9.3,10.x许可代码的书写改变了,ArcObjects SDK 10 Microsoft .NET Framework 帮助文档中,提供了以下两种方式: 1. Calling RuntimeM ...

  9. Migrating your code from 9.3 to 10.x

    刚发现ArcGIS Objects SDK提供了一个代码升级分析工具,用于辅助将程序从9.3升级到10.X:ArcGIS Code Migration Analyzer. 安装sdk后,在vs2010 ...

  10. js,JQuery 生成二维码

    代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...