String(C++)

原创 2015年11月17日 21:04:35

一、初始化

string a;//被默认初始化为空字符串

string b = a;//拷贝初始化,值与a一样

string c = "hello";//c是"hello"字面值  除最后面的 空字符外的副本,

string d(c);//等价于  string d = c

string e("hello");//等价于  string e = "hello"

string f(n,'c');//f为连续n个c组成,于 string f = string(n,'c')  等价


二、string上的操作

os <<  s     //写 流os

is >> s     //读取is流

getline(cin,s) //从cin中读取一行存入 s中

s.empty()   //判断s是否为空

s.size() //返回s中字符的个数

s[n] //返回s中第n个字符的引用,位置从0开始计

s1 + s2 //返回s1,s2连接后的结果, 可以与字面值相加,但是 + 两边至少有一个是string类型

s1 = s2;

s1==s2 //判断s1,s2是否相等

s1 != s2

<, <=, >, >=  //利用字符在字典中的顺序进行大小比较,且对字母的大小写 敏感


string:: size_type 是一个无符号类型

三、对string中的每个字符进行操作

范围for(declaration : expression)   

//此语句会遍历expression中的每一个基础元素。declaration负责定义一个变量,每次迭代,被初始化为下一个基础元素

for(auto c : s)

operation


改变一个字符

在cctype头文件中定义了 一些标准库函数处理这部分工作。

isalum(c)     //是否是字母或者 数字

isalpha(c)   //是否是字母

iscntrl(c)  //是否是控制字符

isgraph(c)  //当c不是空格,但可以打印时为真

islower(c) //是否是 小写 字母

isprint(c) //是否可打印

ispunct(c) // 是否是标点符号

isspace(c) //是否为空白

isupper(c)  //是否为大写

isxdigit(c) // 是否是十六进制数字

tolower(c)  //变为 小写

toupper(c) //变为 大写


改变字符用  引用

for (auto &c : s)


四、处理 一部分字符

使用下标运算符;或者迭代器


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

String类C++实现,有详细注释

  • 2011年11月01日 19:37
  • 1KB
  • 下载

c++ string类详解

  • 2010年06月16日 13:30
  • 39KB
  • 下载

c++如何将vector<char>转化成string

http://zhidao.baidu.com/link?url=USdzXySaOlweb_x6Y2PHDpdV2SKzhwGdEeIKIK7MogwAl5hmUvF9DCnLifnyo1emxvO...

C++ string详解

  • 2017年08月29日 21:20
  • 79KB
  • 下载

深入学习C++_String

  • 2012年04月03日 10:53
  • 1.24MB
  • 下载

C++实现String类

C++实现String类,还没有完成,待继续。 有以下注意的点: (1)赋值操作符返回的是一个MyString&,而重载的+返回的是一个MyString。其中的原因参看《effective c++...

c++ string库函数

  • 2013年05月01日 14:24
  • 170KB
  • 下载

C++ string

  • 2011年12月12日 08:03
  • 69KB
  • 下载

c++ string类的构造函数

在c++中string类的构造函数有六种方式 分别是: 1.string(const char * s) 说明:将string对象初始化为s指向NBTS。NBTS为null-byte-temna...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:String(C++)
举报原因:
原因补充:

(最多只允许输入30个字)