最近刷AC自动机题目的时候突然发现不能直接普通 scanf("%s", &str);
(实在是我太菜了,用的太少,现在才知道)
( 记得引入 string 头文件 )

输入

  1. string str;
    cin >> str;
  2. string str;
    getline(cin, str);
  3. string str;
    str.resize(105);
    scanf("%s", &str[0]);
  4. char data[105];
    scanf("%s", data);
    string str(data);

输出

  1. cout << str <<endl;
  2. printf("%s", str.data());
  3. printf("%s", str.c_str());

常用成员函数

  1. c_str() 返回字符数组
  2. data() 返回字符串
  3. empty() 返回是否为空
  4. size() 返回字符串长度
  5. length() 返回字符串长度 (和 size() 一模一样)
  6. substr() 得到子字符串
  7. find() 从前往后找子字符串
  8. rfind() 从后往前找子字符串
  9. copy() 复制全部或部分字符
  10. compare() 比较两个字符串
  11. find_first_of() 返回从前往后该字符第一次出现的位置
  12. find_last_of() 返回从后往前该字符第一次出现的位置
  13. find_first_not_of() 返回从前往后第一次出现非该字符串的位置
  14. find_last_not_of() 返回从后往前第一次出现非该字符串的位置
  15. erase() 删除部分

其中 13,14,15 可用来删除字符串两边的空格

string trim(string s)
{s.erase(0,s.find_first_not_of(" "));s.erase(s.find_last_not_of(" ") + 1);return s;
}

重载运算符

可用 +,=,==,!=,<,<=,>,>=

c++ string类型用法相关推荐

  1. String类型的用法(详细解说)

    对于字符串,除了按照C语言的字符数组处理外,C++还提供了一种更加简单的处理方法,那就是string类.使用string类的第一步是采用#include包含头文件<string>. 接下来 ...

  2. c++ string类 用法简介

    目录 1. 概述 2. 常见用法 2.1 string转换为char* 2.1.1 data()方法与c_str()方法 2.2 计算string长度.string字符串比较 2.3 string对象 ...

  3. C++ string类型占几个字节

          在C语言中我们操作字符串肯定用到的是指针或者数组,这样相对来说对字符串的处理还是比较麻烦的,好在C++中提供了 string 类型的支持,让我们在处理字符串时方便了许多.这篇文章并不是讲解 ...

  4. string 类型详解

    通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了! 下面先罗列出string ...

  5. stoi() 函数----将一个string类型转换为int型

    需要的头文件: #include<iostream> 需要的其他东西: using namespace std; 函数的作用: 将一个字符串string类型转换为int 型 用法格式: s ...

  6. Redis常用命令之操作String类型

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  7. java语言特点 字符串不变_面试必问:Java中String类型为什么设计成不可变的?

    这几天在各大平台上都看到过这样一些帖子,全都是关于String类型对象不可变的问题,当然现在也是找工作的准备时期,因此花了一部分时间对其进行整理一下. 想要完全了解String,在这里我们需要解决以下 ...

  8. STL中map和string, vector 用法详解

    1. map 用法详解 std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成 ...

  9. C++中string的用法

    我们知道string可以构造一个字符串变量,那么它的操作有哪些呢.它包含在string库中(不是string.h没有.h),它可以和定义一个字符一样定义一个字符串变量,而且强大的C++还内置了各种函数 ...

最新文章

  1. 小程序菜单栏吸顶效果
  2. 「Caffe」python版本caffe编译
  3. PHP的http_build_query
  4. (数据分析三板斧)第一斧Numpy-第一节:Numpy基本了解
  5. continue break return的区别
  6. python源文件改写编写一个程序读取一个python源程序文件_学PYTHON第三节:编译和解释...
  7. 【转】MEF程序设计指南四:使用MEF声明导出(Exports)与导入(Imports)
  8. vivo换手机云服务器,换新手机迁移数据很麻烦?这里两招教你快速迁移,有云服务不用愁...
  9. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_10idea集成maven插件...
  10. 联想电脑无法修复此计算机怎么办,联想一键还原不能用怎么办
  11. python 绝对值最⼩的数
  12. linux使用tab键联想,Linux 下python 如何设置使用tab键
  13. 阵列卡服务器装linux,Linux网卡阵列卡安装
  14. GO语言04(简单的RESTful API服务器,API 服务器健康状态自检)
  15. Docker基础、进阶笔记,为k8s的学习预预热
  16. android edittext 手机号码,Android Edittext 手机号码格式输入设置
  17. ROOT(a Data analysis Framework)-Note4: iSTEP day1-TH1TF1
  18. stm32/esp32/cam智能安防系统远程视频监控物联网远程传输视频图像GSM短信报警
  19. 【网络爬虫教学】一分钟带你快速寻找JS加密入口(二)
  20. 学习笔记——12306 自动通过验证码(2)

热门文章

  1. 毕业BG(01背包问题)
  2. 对于SD-WAN安全的5个误区
  3. python 易错总结
  4. web初级开发的那些坑
  5. [转]Shell脚本中发送html邮件的方法
  6. ExtJs grid合并单元格
  7. My sql 日常维护命令的总结
  8. 如何处理“已超出域所允许创建计算机账户的最大值”
  9. sublime Text3安装和verilog安装
  10. python爬虫如何配置动态爬虫代理