码迷,mamicode.com
首页 > 编程语言 > 详细

C++Primer 5th Chap3 Strings,Vectors, and Arrays(未完)

时间:2019-09-08 22:36:14      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:十六进制   scn   prim   express   范围   clu   数字   alpha   UNC   

使用名字空间成员的简单方法:

  using namespace ::name;例如:using std::cin;

  头文件不应包含using声明

标准库类型string:(需要带有头文件#include<string>)

  string对象的初始化方式

    string s1;(默认空字符串)

    string s2=s1;

    string s3="asfg";(拷贝初始化)(也可:string s3("asfg");直接初始化)

    string s4(10,‘x‘);(s4=="xxxxxxxxxx")

  string的操作

    os<<s 将s写入输出流os中并返回os

    is>>s 将is中字符串赋给s并返回is

    getline(is,s)从is中读取一行赋给s并返回is

    s.empty() 返回s是否为空

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

    s[n] 返回s中下标为n的字符的引用,原理同数组

    >,<,==,<=,>= 比较两字符串的“大小”,按字典顺序

 

  使用cin,cout可以直接读写s对象,从第一个字符读起到第一个空白(即只能读取一个“单词”),如果希望完整读取:

    string str;

    while(cin>>str){

      /*********/}

    或者使用getline读取一整行(换行符未存进字符串对象):

    string str;  

    while(getline(cin,str)){

      /*********/}

  注意:str.size()返回值类型为string::size_type类型,通过auto可以获取字符串长度:

    auto len=str.size();

  第一个相异字符决定两字符串"大小",若两字符串仅长度不一,则长的“大于”短的

  注意:字符串字面值之间不可直接相加,‘+’两端至少有一项是string对象

cctype头文件中的字符处理函数

  char s;

  isalnum(s);  s是字母或数字为真

  isalpha(s);   s是字母时为真

  iscntrl(s);     s是控制字符是为真

  isdigit(s);   s是数字时为真

  isgraph(s);   s不是空格但是可以打印时为真

  islower(s);    s是小写字母时为真

  isprint(s);   s是可打印字符时为真

  ispunct(s);    s是标点符号时为真

  isspace(s);   s是空白时为真

  isupper(s);   s是大写字母时为真

  isxdigit(s);    s是十六进制数字时为真

  tolower(s);    输出小写字母

  toupper(s);   输出大写字母

范围for语句:(c++11)

  类似Java的foreach语句,格式为: for(declarion:expression),其中expression是一组序列

  std::string str("Hello World");

  for(auto &c:str){(使用引用类型改变了string的值)

    c=toupper(c);
    std::cout<<c;}

标准库类型vector

  

C++Primer 5th Chap3 Strings,Vectors, and Arrays(未完)

标签:十六进制   scn   prim   express   范围   clu   数字   alpha   UNC   

原文地址:https://www.cnblogs.com/hfut-freshguy/p/11488394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!