下面随笔给出c++ string类使用及用string类解决整行字符串输入。

string类

  • 使用字符串类string表示字符串

  • string实际上是对字符数组操作的封装

  string类常用的构造函数

  • string(); //默认构造函数,建立一个长度为0的串

  例:

  string s1;

  • string(const char *s); //用指针s所指向的字符串常量初始化string对象

  例:

  string s2 = “abc”;

  • string(const string& rhs); //复制构造函数

  例:

  string s3 = s2;

string类常用操作

  • s + t 将串s和t连接成一个新串

  • s = t 用t更新s

  • s == t 判断s与t是否相等

  • s != t 判断s与t是否不等

  • s < t 判断s是否小于t(按字典顺序比较)

  • s <= t 判断s是否小于或等于t (按字典顺序比较)

  • s > t 判断s是否大于t (按字典顺序比较)

  • s >= t 判断s是否大于或等于t (按字典顺序比较)

  • s[i] 访问串中下标为i的字符

  • 例:

    string s1 = "abc", s2 = "def";

    string s3 = s1 + s2; //结果是"abcdef"

    bool s4 = (s1 < s2); //结果是true

    char s5 = s2[1]; //结果是'e'

 1 //例 string类应用举例
2
3 #include <string>
4
5 #include <iostream>
6
7 using namespace std;
8
9 //根据value的值输出true或false
10
11 //title为提示文字
12
13 inline void test(const char *title, bool value)
14
15 {
16
17   cout << title << " returns "
18
19   << (value ? "true" : "false") << endl;
20
21 }
22
23 int main() {
24
25   string s1 = "DEF";
26
27   cout << "s1 is " << s1 << endl;
28
29   string s2;
30
31   cout << "Please enter s2: ";
32
33   cin >> s2;
34
35   cout << "length of s2: " << s2.length() << endl;
36
37   //比较运算符的测试
38
39   test("s1 <= \"ABC\"", s1 <= "ABC");
40
41   test("\"DEF\" <= s1", "DEF" <= s1);
42
43   //连接运算符的测试
44
45   s2 += s1;
46
47   cout << "s2 = s2 + s1: " << s2 << endl;
48
49   cout << "length of s2: " << s2.length() << endl;
50
51   return 0;
52
53 }

用string类解决输入整行字符串

  • 用cin的>>操作符输入字符串,会以空格作为分隔符,空格后的内容会在下一回输入时被读取

  输入整行字符串

  • getline可以输入整行字符串(要包string头文件),例如:

    getline(cin, s2);

  • 输入字符串时,可以使用其它分隔符作为字符串结束的标志(例如逗号、分号),将分隔符作为getline的第3个参数即可,例如:

    getline(cin, s2, ',');

 1 //例 用getline输入字符串
2
3 include <iostream>
4
5 #include <string>
6
7 using namespace std;
8
9 int main() {
10
11   for (int i = 0; i < 2; i++){
12
13     string city, state;
14
15     getline(cin, city, ',');
16
17     getline(cin, state);
18
19     cout << "City:" << city << “ State:" << state << endl;
20
21   }
22
23   return 0;
24
25 }
26
27 //运行结果:
28
29 Beijing,China
30
31 City: Beijing State: China
32
33 San Francisco,the United States
34
35 City: San Francisco State: the United States

最新文章

  1. ASP.NET Web API Selfhost宿主环境中管道、路由
  2. IOS中div contenteditable=true无法输入
  3. 前端-SEO
  4. UI第十四节——UIAlertController
  5. GMap.NET使用一
  6. Hdu.1325.Is It A Tree?(并查集)
  7. AsyncTask下载网络图片的简单应用
  8. 找出数组中最长的连续数字序列(JavaScript实现)
  9. RabbitMQ消息队列安装和配置以及推送消息
  10. 解决win7 中source insight没有courier new字节的问题
  11. Java开发环境的基本设置
  12. idea类似eclipse鼠标技巧java api信息
  13. 浅析java程序的执行过程
  14. 11 个超棒的 jQuery 分步指引插件
  15. idea上手
  16. 微服务架构基础之Service Mesh
  17. JavaScript实现多张图片上传功能
  18. 决策单调性优化dp
  19. [UE4]IsValid方法妙用
  20. 【军哥谈CI框架】之CI中集成百度UEditor

热门文章

  1. Educational Codeforces Round 83 D. Count the Arrays(组合,逆元,快速幂)
  2. Light Bulb ZOJ - 3203 三分
  3. CF1475-C. Ball in Berland
  4. Cobbler自定义安装系统和私有源
  5. python函数传参
  6. 图解算法——恢复一棵二叉搜索树(BST)
  7. Leetcode(27)-移除元素
  8. copy-webpack-plugin &amp; ignore folder
  9. autocode &amp; API
  10. 如何关闭 iPad Pro 自动开启 wifi 和蓝牙