1. STL中只有一个字符串类 basic_string, basic_string 管理一个'\0'结尾的字符数
组,字符类型由模板参数决定
使用时不必担心内存泄露,长度等问题
2. string::npos,可定义字符串最大的长度
3. auto_prt
a. 使用new分配的堆中的内存,必须使用delete释放,还需要再任何跳出函数的语句中
释放该内存
b. auto_str对象过期时,内存自动被释放
c. 使用auto_ptr时,只能配对使用 new and delete
d. 不要对由new[]分配的内存使用auto_ptr
4. typedef basic_string <char> string
trypeef basic_string <wchar> wstring
5. 字符串构造
string str("123344");
string str1(str);
string str2(str,2,5), 从第二个元素,复制五个元素
string str3(str.begin(),str.end())
char ch[] = "abcdefg"
string str4(ch,5), 将字符串ch的前五个
6. size and length 返回大小
7. string.capacity 重新分配内存之前,字符串能容纳的最大字符数
8. string.max_size(), string类最多包含的字符数
9. 元素存取
[], at()
string s("abcde");
char temp = 0;
temp = s.at(2), // temp=c
temp = s[s.length()] //vc 会报错
temp = s.at(s.length()) // 错误
10. comparenocase
11 assign()
str.assign(str1,3,3), 从第三个元素开始,取三个字符串
str.assign(str1,2,str.npos);从位置2到末尾的字符串赋值
12. erase
str.erase(str.begin(),str.end())
str.erase(3)
13. swap
交换两个字符串内容
str.swap(str2)
14 insert
15. append
str.append("ddd");
16. replace
17. 拼接字符串
str = str1 + str2
18 string s1, s2
getline(cin, s1);
getline(cin,s2, '')
19. find
20. STL对配置器的支持
分享到:
相关推荐
STL与字符串处理
在标题提到的“STL拆分字符串.rar_C++”中,包含了一个名为“STL拆分字符串.exe”的可执行文件,这可能是编译后的程序,以及源代码文件“STL拆分字符串.cpp”,这是用C++编写的具体实现。 字符串拆分是一个常见的...
STL的算法库中,有许多用于字符串处理的函数,如find、find_first_of、find_last_of等,可以实现高效字符串搜索。 "VC_CIVStringS"可能是对MFC的CString类进行了扩展或优化,结合了STL的某些特性,以提升字符串搜索...
在这个"第二版"的教程中,我们将深入探讨STL中的string类,这是一个专为处理文本字符串而设计的容器。我们将讨论如何使用string类提供的各种字符串处理函数,并通过`StringProcess.cpp`、`trim() 调试.cpp`和`...
在这个场景中,我们关注的是在C++ STL中的`map`容器中,使用字符串(`std::string`)作为键(key)与使用自定义结构体(struct)作为键在查找效率上的比较。`map`是一个关联容器,它提供了基于键的有序存储,通常...
`Split`函数可能接收一个字符串和一个分隔符作为参数,返回一个字符串向量,其中每个元素都是原字符串中由分隔符分隔的部分。这样的功能在处理文本数据、日志解析等场景中非常有用。 除了`Split`,这个库可能还包含...
* `int copy(char *s, int n, int pos = 0) const`: 把当前字符串中以 `pos` 开始的 `n` 个字符拷贝到以 `s` 为起始位置的字符数组中,返回实际拷贝的数目。 特性描述 STL String 类提供了多种特性描述,包括: *...
例如,它可能实现了Boyer-Moore算法、KMP算法或者Rabin-Karp算法,这些算法在预处理模式字符串后,能够在主字符串中进行快速定位。 Boyer-Moore算法通过跳过部分不必要的匹配尝试,大大提高了搜索效率,尤其在模式...
《C++字符串完全指南—第二部分:字符串的封装类》主要探讨了在C++中处理字符串的各种封装类,包括在Win32 API、MFC、STL、WTL和Visual C++运行时库中常见的字符串类型。这些封装类旨在解决C风格字符串(C-style ...
C++ Standard Template Library (STL) 提供了丰富的算法,如`std::remove_if`,可以用于删除字符串中的空格。 ```cpp #include #include #include void removeSpaces(std::string& str) { str.erase(std::...
在这个问题中,我们需要对给定的字符串中的每个字符进行全排列。 首先,我们来理解字符串的基本概念。在C++中,字符串是由字符组成的序列,可以使用`std::string`类来表示。字符串可以被初始化、操作、比较和拷贝,...
设计一个算法,在串str中查找字串substr最后一次出现的位置(不能使用STL)。
在C++编程语言中,字符串可以通过多种方式进行表示,包括传统的C风格字符串、标准模板库(STL)中的`std::string`、Windows API中的TCHAR以及其他特定于库或框架的字符串类。本文档旨在提供一个全面的指南,帮助读者...
C语言作为一门历史悠久的语言,提供了基本的字符串操作函数,而C++则在此基础上增加了更高级的特性,比如STL(Standard Template Library)中的`std::string`类。 ### C语言中的字符串处理 C语言主要通过指针和一...
在C++标准模板库(STL)中,`std::string` 类提供了一系列强大的字符串处理功能。本文将详细介绍`std::string`类的一些核心成员函数及其应用场景。 #### 构造与赋值 1. **构造函数** - `string():` 默认构造一个空...
例如,`find()`函数可以用来查找子串在主字符串中的位置,`substr()`用于提取子串。 2. **列表容器(list)**:描述中提到使用`list`进行匹配查找。`std::list`是C++ STL(标准模板库)中的一个关联容器,它是一个...
功能是把定长字符串映射为整数,目的是找到比用C++标准库无序映射unordered_map更快的算法。所有字符串的长度都一样,且初始化之后只有查询,没有增删改。不同功能字符串长度也不同,但不超过16。本程序随机生成长度...
在编程过程中,我们经常会遇到需要将从外部设备读取的字符串数据转换为实数的情况,以便进行数值计算和处理。本文将深入探讨如何在西门子PLC中实现字符串到实数的转换,并提供相关的编程技巧。 一、字符串与实数的...
这里,我们关注的题目是“字符串连续相同个数统计”,这可能涉及到找出一个字符串中连续重复字符的最大数量。这个任务可以帮助我们了解字符串处理的基本技巧,以及如何有效地遍历和分析字符序列。 在C++编程中,...
在C++编程语言中,字符串处理是一个至关重要的部分。C++标准库提供了`std::string`类来方便地处理字符串,但有时为了学习或者特定需求,我们可能需要自定义一个字符串类。标题所指的“字符串类的实现”源代码正是...