1. 定义和初始化
string s1;
string s1(s2);
string s1(“ABC”);
string s1(n, ’x’);//s1为x的n个副本
string s1(s2,pos,len);//s1被初始化成s2中从pos开始的len个字符的副本。
2. 读写
cin>>s;//忽略开头空白字符,到遇到空白字符为止
cout<<s;
也可以作为循环的条件,如while(cin>>s){…}>
getline(cin,line);//遇到换行符即停止返回
3. 大小和容量
s.empty();//返回bool值
s.size();//返回s里字符的个数。
注意:返回的并不是int型,而是string::size_type类型的值
for(string::size_type i=0;i!=s.size();i++)
4. 关系判断
if(s1==s2)
if(s1<=s2)//等效于区分大小写的字典顺序比较
5. 赋值,相加,连接
st1=st2;
st3=st1+st2;
st1 += st2;把st2追加到st1末尾
st3=st1 + “girl”;
st4=”girl” + st1;//错误的!
6. 获取字符
cout< 注意:下标是从0开始的。
而要注意s[s.size() - 1]则表示s的最后一个字符。
7. 修改
s1.insert(1,"MM");
s1.insert(1,str);
在s1[1]处插入字符。再来一个:
s1.insert(s1.size() , 2,’M’);//在s1的末尾插入MM(直接+=不就行了~~~)
s1.assign(s2);//用s2替换s1
s1.assign(s2,pos,len);
//用s2从pos开始的len个字符替换s1
s1.erase(pos,len);//删除s1从pos开始的len个字符
还有个替换的函数,在插入的同时删除:
s1.replace(1,3,”abcdefg”);//将s1从1开始的3个字符替换为指定字符
8. 提取字串
s.substr(pos,n);//返回从pos开始的n个字符的string
s.substr(pos);//从pos到末尾
9.内存输入输出
sprintf(str, "%d" ,i);
sscanf(str, ”%d” ,&i);
10. 查找操作
s1.find("MM");//返回第一个MM的位置
s1.rfind(“MM”);//返回最后一个MM的位置
s1.find("5,MM");//从第5个字符开始找
找到返回下标值,找不到返回4294967295
11. 比较
string s(“abcd”);
s.compare(“abcd”); //返回0
s.compare(“dcba”); //返回一个小于0的值
s.compare(“ab”); //返回大于0的值
s.compare(s); //相等
s.compare(0,2,s,2,2); //用”ab”和”cd”进行比较 小于零
s.compare(1,2,”bcx”,2); //用”bc”和”bc”比较。
12.字符处理
#include <cctype>
isalnum(s[i]) 如果s[i]是字母或数字,则为true
islower(c)小写字母
isupper(c)大写字母
tolower(c)
toupper(c)转换
isdigit(c)是数字
……
加iomanip头文件。
举例: 输出双精度数。
double a=123.456789012345;对a赋初值
(1) cout<<a;输出: 123.456
(2) cout<<setprecision(9)<<a;输出: 123.456789
(3) cout<<setprecision(6);恢复默认格式(精度为6)
(4) cout<< setiosflags(ios∷fixed);输出: 123.456789
(5) cout<<setiosflags(ios∷fixed)<<setprecision(8)<<a;输出: 123.45678901
(6) cout<<setiosflags(ios∷scientific)<<a;输出: 1.234568e+02
(7) cout<<setiosflags(ios∷scientific)<<setprecision(4)<<a; 输出: 1.2346e02
下面是整数输出的例子:
int b=123456;对b赋初值
(1) cout<<b;输出: 123456
(2) cout<<hex<<b; 输出: 1e240
(3) cout<<setiosflags(ios∷uppercase)<<b;输出: 1E240
(4) cout<<setw(10)<<b<<′,′<<b; 输出: 123456,123456
(5) cout<<setfill(′*′)<<setw(10)<<b;输出: **** 123456
(6) cout<<setiosflags(ios∷showpos)<<b;输出: +123456
11.string里经常用到和c的字符串数组的转换
int main()
{
string s;
char ss[100];
scanf(“%s”,&ss);
s=ss;
printf( s.c_str());
printf(“%s”,ss);
cout< cout<}
12.s.length()与s.size()有何区别?
答:完全没有区别,至少对string来说……
分享到:
相关推荐
C++中string的用法 C++中的string类是C++标准程序库中的一部分,相比于C语言中的char*字符串,它具有更多的优点,例如不需要担心内存是否足够、字符串长度等问题。同时,作为一个类,它集成了许多操作函数,可以...
### 标准C++中的`string`类的用法总结 在C++编程语言中,`string`类是处理字符串的利器,它提供了丰富的功能,远远超过了传统的C风格字符串(即`char*`)。`string`类封装了字符串操作的所有细节,使得字符串处理变...
### 标准C++中string用法详解 #### 一、C++标准库中的`string`类型使用 在ANSI标准C++中,`string`是处理文本数据时非常重要的工具之一,它提供了丰富的功能来方便地操作字符串。本文将详细介绍`string`的基本使用...
C++ String 用法详解 C++ 语言中的字符串处理一直以来都是一个棘手的问题,许多开发者都认为 C++ 的文本处理功能太麻烦,不方便使用。但是,随着 STL 的出现,C++ 的字符串处理功能得到了极大的简化。特别是 C++ 的...
c++中 string 类的find函数的用法 在字符串查找需要的字符
### C++ `string` 类型的使用总结 在C++编程语言中,`string` 类是一种非常重要的数据结构,用于处理文本数据。本篇总结旨在详细介绍`string` 类的构造方法、常用操作方法及其功能特性。 #### 一、`string` 类对象...
本文将详细解析两种常用的C++ `std::string`截取字符串的方法:`find`和`find_last_of`,以及如何结合使用它们来满足各种字符串处理需求。 1. `find`方法: `find`方法用于在字符串中查找指定子字符串`strSub`的第...
另一种方法是使用C++11引入的`std::to_string`函数: ```cpp double value = 123.456; std::string strValue = std::to_string(value); ``` 这行代码直接将`double`转换为对应的`std::string`。 接下来,我们来看`...
C++ String 详解是C++标准程序库中的一个重要组件,它提供了一个更加方便和高效的字符串处理方式,相比于传统的char*字符串。C++ String 详解可以自动管理内存,避免了内存泄露和溢出的问题,同时也提供了许多实用的...
总的来说,当在C++中使用string类处理二进制数据时,需特别注意空字符的影响,正确使用构造函数并传递数据长度,以确保数据的完整性和一致性。同时,理解string类的内部工作原理以及其与二进制数据交互时可能出现的...
`replace` 成员函数是 `std::string` 类中一个关键的方法,它允许程序员替换字符串中的子串或字符。本篇文章将详细讲解 `std::string` 的 `replace` 成员函数的几个常见用法。 1. **替换指定长度的子串** ```cpp ...
C++中的`std::string`类是处理字符串的利器,它提供了丰富的成员函数和操作,使得在C++中处理文本变得高效且易于管理。这里我们将深入探讨`std::string`的一些主要特性和用法。 首先,`std::string`类的构造函数...
c++中的string常用函数用法总结.doc
### C++ 中 string 转换为 double 的方法 在 C++ 编程语言中,字符串(`std::string`)与数值类型(如 `int`、`double`)之间的转换是常见的需求之一。这种转换通常用于处理用户输入的数据、解析配置文件或处理网络...
在C++Builder中,`String`类型是基于Unicode的,这意味着默认情况下,它存储的是宽字符(每个字符2字节),这与Windows API中的`WCHAR`和`LPCWSTR`类型相匹配。这种设计使得C++Builder可以方便地处理包含多语言字符...
本文将详细介绍如何在C++程序中使用`string`类,包括其声明、初始化、常用成员函数以及一些高级用法。 #### 包含必要的头文件 要在C++程序中使用`string`类,必须首先包含 `<string>` 头文件。请注意,不要将其与...
C++中string类的基本用法,新学C++的时候会用到的。
`std::wstring` 的使用方法与 `std::string` 类似,但在处理宽字符方面有所不同。 **1.6.3 `std::wstring` 与控制台** `std::wstring` 在控制台上的输出和输入通常需要特殊处理,以支持宽字符编码。 **1.6.4 `std...
在.NET框架中,C#是一种广泛使用的面向对象编程语言,而C++则以其高性能和底层访问能力著称。有时,我们需要利用C++编写性能关键的部分,并将其封装为DLL供C#应用程序调用。这种混合编程模式可以充分利用两种语言的...