C++之标准库类型string(g++)

NOTE:

eclipse支持C++11:g++ -std=c++11 增加编译选项,g++ 版本 4.8.1 及以上支持c++11

字符串字面值是 const char * 类型,不是 string 类型。

string 的输入运算符自动忽略开头空白,从真正字符读起,直到遇见下一次空白(空格、换行、制表等)。;getline 会原样保留空白。(遇换行符都会结束当次输入)

头文件中最好不用 using 声明,以免造成冲突。

string对象会自动忽略开头空白。

范围for语句 和auto关键字,拷贝或引用str`的每个字符。

 for(auto &c:str)
{
        c = 'X';
    } 

尽量使用C++中的对应头文件。

decltype(s.size()) size=0;来声明string尺寸类型; 使用 assert 来断言下标未越界。

using s_size = string::size_type; 等价于 typedef string::size_type size 类型定义


string初始化

string s; 默认初始化,空

string s2(s1); s2是s1的副本

string s2 = s1;与上等价

string s3("val"); 副本,除了最后的空字符

string s3 = "val"; 与上等价

string s4(n,'c') n个 c 字符组成s4

使用等号初始化一个变量执行拷贝初始化,否则执行直接初始化。


string 对象上的操作

basic_istream<char>& getline(basic_istream<char>&, string&, char); 未遇到边界时读取一行,否则读到边界并抛弃边界符。

basic_istream<char>& getline(basic_istream<char>&, string&); 上面边界符号为 ‘\n’的情况。

os<<s;s写到输出流os中,返回os.

is>>s;is中读取字符串赋给s,字符串以空白分隔,返回is.

s.empty()

s.size()字符个数

s[n]第n个字符的引用,从0开始

+、=、==、!=、<、<=、>、>=


字符处理 #include <cctype>

isalnum(c) 字母或数字时为真

isalpha(c) 字母

iscntrl(c) 控制字符

isdigit(c) 数字

isgraph(c) 不是空格但可打印

islower(c) 小写字母

ispunct(c) 标点符号

isspace(c) 空白(空格、横(纵)向制表符、回车符、换行符、进纸符)

isprint(c) 可打印(空格或可视)

isupper(c) 大写字母

isxdigit(c) 十六进制数字

tolower(c) 转小写

toupper(c) 转大写


C++string类常用函数

C++string类常用函数 > http://www.cppblog.com/lmlf001/archive/2006/04/19/5883.html

发布了38 篇原创文章 · 获赞 6 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章