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

Tips for C++ Primer Chapter 3

时间:2017-09-23 21:24:42      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:读取字符串   prim   str   数组   空间   第三章   bool   abc   结果   

第三章 字符串、向量和数组

命名空间
using std::cin;

using namespace std;

 

string s4(3, ‘c‘); //s4的值是"ccc"

 

使用getline读取一整行

string line;

getline(cin, line);

若成功读取一行,getline函数返回true(读到空行也返回true,因为成功读到一个‘\n‘;此时line为空字符串),读取失败返回false。

 getline读取遇到换行符为止,换行符也被读进来了,但在把字符串存入string对象时,换行符没有存进去。

 

string对象上的操作

os<<s 将s写到输出流os,返回os

is>>s 从输入流is中读取字符串赋给s,返回is

getline(is, s) 从输入流is中读取一行赋给s

s.empty()

s.size() s.length() 二者没有区别

s[i]

+

=、==、!=

<、<=、>、>=

 

string的size函数返回类型是size_type类型,它是一个无符号整数。

string s("abc"); //s.size()值为3,注意它是无符号数

bool b1 = s.size() < -1; //b1的值是true;因为s.size()是无符号数,混用带符号数与无符号数时,带符号数会自动转换成一个无符号数,此处-1将变成一个很大的正整数(转换的方式在第2章已讨论)

int len = s.size(); //无符号数s.size()先转换成一个带符号数len

bool b2 = len < -1; //b2的值是false;因为len是一个带符号数,与-1比较时不存在带符号数与无符号数混用而发生意想不到的自动转换问题

 

字符串的字典序大小比较

字符串大小的比较结果等于第一对相异字符的比较结果

"abc" < "ac"

若对应位置字符全都相同,则长度较小的字符串小

"abc" < "abcd"

否则两字符串相等

 

Tips for C++ Primer Chapter 3

标签:读取字符串   prim   str   数组   空间   第三章   bool   abc   结果   

原文地址:http://www.cnblogs.com/junjie_x/p/7582308.html

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