C++标准库string
来源:互联网 发布:软件流程图制作软件 编辑:程序博客网 时间:2024/04/29 12:30
一:标准库类型string
①使用string要包含头文件
#inludde<string>using std:string;
②sting 对象的初始化
string s1; //初始化一个空串string s2(s1); //吧s1赋值给s2(也就是拷贝初始化)string s2 = s1;string s3("value");//(直接初始化)string s3 = "value"string s4(n , 'c') //把s4初始化为n个字符组成的串(直接初始化)
直接初始化与拷贝初始化
如果使用=号初始化一个变量,实际上执行的是拷贝初始化,编译器直接把等号右边的初始值直接拷贝到新创建的对象中去。相反如果不使用等号,则执行的就是直接初始化。
③string对象的操作
对象赋值
string str1, str2 = "hello";str1 = str2;//str1包含str2串所有字符的一个副本//先把str1占用的内存释放掉,然后再分配存放str2副本的内存空间,最后吧str2中的所有字符复制到新分配的内存空间
对象想加
string str1 = "hello"; string str2 = "world"; str1 += str2;//str1 is hello world string str3 = str1+" " + str2;//hello world
对象读取
//从键盘读取一个一个单词string s1;while (cin >> s1) { cout << s1 << endl; }
//读取一行while (getline(cin, str)) { cout << str << endl; }
cin和getline的各自特点
- cin会忽略有效字符前的空白符,然后再次遇见空白字符就会停止,这个空白字符还会留在流中
- getline函数会首先忽略字符前的空白字符,然后遇见换行符停止,换行符会从流中去掉
str.empty() //判断字符串是不是为空str.size() //得到字符串的大小,有几个字符
有关于string ::size_type类型
由于string的size()函数返回的是一个无符号的整数,如果表达式中混用了带符号的号无符号的数可能会产生意想不到的后果。所以size_type就代表这无符号的整数。
String :: size_type len = str.size();//使用size_type就能达到代码跟机器无关,跨平台使用
string对象的比较使用< > =
string对象的遍历
//遍历字符串,打印出一个一个字符for (auto c : str) { cout << c << endl; }
也可以通过索引访问
if(!str.empty()){ cout << str[0] << endl;}
操作字符串的函数都在cctype头文件里
0 0
- C++:标准模板库string
- C标准库学习string.h
- C++Simplify04-标准库string和vector
- C /C++标准库 - <cstring> (string.h)
- C 标准库—— string.h
- c++_标准库类型string
- 标准c++string
- C标准库文件之string.c文件
- c++primer学习笔记(3.2)标准库string类型
- C语言标准库概览详述[10]-字符串<string.h>
- [C/C++标准库]_[初级]_[使用string stream]
- C++Primer学习札记_标准库String类
- C++primer 3.2 标准库类型string(sizeof的使用)
- C++:标准库类型(string、vector、list、bitset)
- 《C标准库》——之<string.h>
- C++PP Chapter XVI String类和标准模板库
- c++primer笔记--3.2标准库类型string
- c++(19)标准库类型string( 一 )
- Aspose.Cells Excel删除行
- Hybird APP 开发 总结
- Java中高精度问题的bigdecimal解决方式
- 数据库基础(常见面试题)
- PHP & HTML5 学习 第一课 Why learn
- C++标准库string
- malloc分配给指针空间与之间建立数组的区别
- python中的enumerate函数 (2013-12-08 02:36:24)
- cocoa touch事件处理流程--响应者链
- windows远程连接ubuntu
- Android Fresco图片处理库用法API英文原文文档2-2(Facebook开源Android图片库)
- squid三种代理方式
- 【一步一步入门Spring+Maven+MongoDB】一:环境配置
- Myeclipse中Mybatis Generator插件的简单使用