C++ String 简单总结
来源:互联网 发布:jsp页面连接数据库 编辑:程序博客网 时间:2024/05/22 15:26
- 定义和初始化
#include <string>using std::string;string s1; //定义了一个空字符串string s2 = s1; <==> string s2(s1); //s2为s1的副本 string s3 = "value"; //拷贝初始化 string s4(value); //直接初始化string s5(n,char ch); //字符串连续n个字符均为ch
- string类上的操作
string 普通读写
#include <iostream>#include <string>using namespace std;int main() { string s1; cin >> s1; /* while(cin >> s1) //反复读取,直到文件末尾 cout << s1 << endl; */ cout << s1 << endl; return 0;}
getline读取
istream &getline( char *buffer, streamsize num ); istream &getline( char *buffer, streamsize num, char delim );
用getline()读取字符到buffer中,buffer在代码中通常体现为一个字符数组,streamsize num是一次读入多少个字符, num - 1个字符已经读入, 当碰到一个换行标志, 碰到一个EOF, 或者任意地读入,直到读到字符delim。delim字符不会被放入buffer中。delim字符可以自已设定,默认为回车符’/n’
第一个参数为要存储的指定字符数组。
第二个参数为抽取、读取指定数目的字符。
第三个参数指定结束字符,默认为”\n”;
#include <iostream>#include <string>using namespace std;int main() { string s1; while(getline(cin,s1)) cout << s1 << endl; return 0;}
string的empty和size函数
#include <iostream>#include <string>using namespace std;int main(void) { string s1; cin >> s1; cout << s1.empty() << endl;//s1是否为空 cout << s1.size() << endl;//s1可视字符的长度 return 0;}
string size_type
string抽象意义是字符串, size()的抽象意义是字符串的尺寸, string::size_type抽象意义是尺寸单位类型
string::size_type它在不同的机器上,长度是可以不同的,并非固定的长度。但只要你使用了这个类型,就使得你的程序适合这个机器。与实际机器匹配。
string的比较
== !=/比较两个字符串是否相等或不等
运算符”>”,”<”,”>=”,”<=”,”!=”均被重载用于字符串的比较;
int compare(const string &s); //比较当前字符串和s的大小int compare(int pos, int n,const string &s);//比较当前字符串从pos开始的n个字符组成的字符串与s的大小int compare(int pos, int n,const string &s,int pos2,int n2);//比较当前字符串从pos开始的n个字符组成的字符串与s中pos2开始的n2个字符组成的字符串的大小compare函数在>时返回1,<时返回-1,==时返回0
string加法和连接
string的加法,实际就是起到一个链接的作用。
两个string可以直接相加
#include <iostream>using namespace std;int main() { string s1 = "fdfg"; string s2 = "frgfbd"; cout << s1 + s2 << endl; return 0;}结果:fdfgfrgfbd
string和字面值相加
#include <iostream>using namespace std;int main() { string s1 = "fdfg"; string s2 = "frgfbd"; cout << s1 + "haha" << endl; cout << "fhijvi" + "v" << endl; return 0;}结果:error: invalid operands of types ‘const char [7]’ and ‘const char [2]’ to binary ‘operator+’cout << "fhijvi" + "v" << endl;
也就是说加法两边至少要有一个string 类,两个的结果也是string类
append尾部链接
string &append(const char *s); //把c类型字符串s连接到当前字符串结尾string &append(const char *s,int n);//把c类型字符串s的前n个字符连接到当前字符串结尾string &append(const string &s); ///把字符串s连接到当前字符串的结尾string &append(const string &s,int pos,int n);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾string &append(int n,char c); //在当前字符串结尾添加n个字符cstring &append(const_iterator first,const_iterator last);//把迭代器first和last之间的部分连接到当前字符串的结尾
string的交换和取子串
string substr(int pos = 0,int n = npos);//返回pos开始的n个字符组成的字符串void swap(string &s2); //交换当前字符串与s2的值
对字符操作
处理所有字符
for(declaration : expression) statementeg:string str("unviubnig");for(auto c : str) //auto根据编译器来决定该类型 cout << ccout << endl;通过引用也可改变stringstring str("unviubnig");for(auto &c : str) c = toupper(c); //c是引用,所以可以改变字符串
利用下标进行访问
s[0] s[1] …… s[s.size() - 1]
1 2 最后一个
和C语言很相似,同样的时要注意下标越界。
- C++ String 简单总结
- C#-string总结
- C#-string总结
- C#string编码总结
- C++string类总结
- linux c string库函数总结
- C++string类用法总结
- C++String 类的总结
- C简单总结
- object C 简单总结
- String,String Buffer,数组,对象和类的简单总结
- C++string类的简单实现
- Codeforces 797C Minimal string 简单模拟
- c++string类的简单实现
- 字符串处理总结之一(C#String类)
- C++STL库函数之string用法总结
- C语言string.h常用函数总结
- 字符串处理总结之一(C#String类)
- 使用 android 系统提供的 app 打开对应文件
- 初学opencv/形态学拐角检测
- Android中SparseArray解析
- Web移动端Fixed布局的解决方案
- 【运维平台系列】关于弹性扩缩容操作的细节
- C++ String 简单总结
- ROS会议 ROSCon 2017
- CSS3动画特效
- synchronize用法
- zookeeper的linux安装
- libevent学习笔记
- Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
- C++ primer阅读笔记----------表达式
- Oracle 遭遇ORA-02064 :不支持分布式操作 解决