C++对C的改进和拓展\string类型

简介: C++对C的改进和拓展\string类型

需要 #include <string>

不用关心内存如何分配

无需处理'\0'结束字符

#include <iostream>
#include <string>
using namespace std;
 
int main()
{
  string s1;
  string s2 = "Student";
  string s3 = s2;
  string s4(8, 'A');  //8个A
  
  cout << "input >>";
  cin >> s1;  //遇到空格、tab、回车结束
  //带空格 >>> getline(cin,s1)
  cout << s1 << endl << s2 << endl << s3 << endl << s4 << endl;
  s4 = s1;
 
  cout << "s4=" << s4 << " length is>>" << s4.length() << endl;
  //length() 是 string 类的一个成员函数
 
  s2 = s3 + ' ' + s4;
  //右边可以是 string 字符串、C风格字符串、或一个 char 字符
  cout << "s2=" << s2 << endl;
 
  //对字符串进行操作
  s3.insert(7, "&Teacher"); //s3 7下标开始(不包括) 插入
  cout << "s3=" << s3 << endl;
 
  s3.replace(2, 4, "ar"); //s3 2下标开始(不包括) 长度为4的子串 替换
  cout << "s3=" << s3 << endl;
 
  s1 = s3.substr(6, 7); //s3 6下标开始(不包括) 长度为7字串
  cout << "s1=" << s1 << endl;
 
  int pos = s3.find("s1");  //s3中找s1,存在则返回 首字符下标,否则返回-1
  cout << "pos=" << pos << endl;
 
  s3.erase(5, 8); //5下标开始(不包括) 长度8
  cout << "s3=" << s3 << endl;
 
  bool f = s1 > s4;
  cout << "f=" << f << " boolalpha>>" << boolalpha << f << endl;
 
  return 0;
}

string 类型转换为 C语言风格的字符串,使用 .c_str()

目录
相关文章
|
1月前
|
安全 编译器 C语言
【C++数据结构】string的模拟实现
【C++数据结构】string的模拟实现
|
30天前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
16 1
|
1月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何将STRING类型转换为DATETIME类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
23天前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。
|
23天前
|
安全 程序员 C语言
C++(四)类型强转
本文详细介绍了C++中的四种类型强制转换:`static_cast`、`reinterpret_cast`、`const_cast`和`dynamic_cast`。每种转换都有其特定用途和适用场景,如`static_cast`用于相关类型间的显式转换,`reinterpret_cast`用于低层内存布局操作,`const_cast`用于添加或移除`const`限定符,而`dynamic_cast`则用于运行时的类型检查和转换。通过具体示例展示了如何正确使用这四种转换操作符,帮助开发者更好地理解和掌握C++中的类型转换机制。
|
1月前
|
存储 编译器 C语言
C++ --> string类模拟实现(附源码)
C++ --> string类模拟实现(附源码)
60 4
|
30天前
|
C++
使用 QML 类型系统注册 C++ 类型
使用 QML 类型系统注册 C++ 类型
28 0
|
1月前
|
存储 C++
C++ dll 传 string 类 问题
C++ dll 传 string 类 问题
20 0
|
1月前
|
存储 NoSQL 索引
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
|
1月前
|
开发工具 数据安全/隐私保护
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"