`
thank55789
  • 浏览: 29542 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

C++中String用法的简单总结

阅读更多

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++中的string类是C++标准程序库中的一部分,相比于C语言中的char*字符串,它具有更多的优点,例如不需要担心内存是否足够、字符串长度等问题。同时,作为一个类,它集成了许多操作函数,可以...

    标准C++中的string类的用法总结

    ### 标准C++中的`string`类的用法总结 在C++编程语言中,`string`类是处理字符串的利器,它提供了丰富的功能,远远超过了传统的C风格字符串(即`char*`)。`string`类封装了字符串操作的所有细节,使得字符串处理变...

    标准C++中string用法详解

    ### 标准C++中string用法详解 #### 一、C++标准库中的`string`类型使用 在ANSI标准C++中,`string`是处理文本数据时非常重要的工具之一,它提供了丰富的功能来方便地操作字符串。本文将详细介绍`string`的基本使用...

    c++string用法详解

    C++ String 用法详解 C++ 语言中的字符串处理一直以来都是一个棘手的问题,许多开发者都认为 C++ 的文本处理功能太麻烦,不方便使用。但是,随着 STL 的出现,C++ 的字符串处理功能得到了极大的简化。特别是 C++ 的...

    c++中 string 类的find函数的用法

    c++中 string 类的find函数的用法 在字符串查找需要的字符

    C++string类型的使用总结

    ### C++ `string` 类型的使用总结 在C++编程语言中,`string` 类是一种非常重要的数据结构,用于处理文本数据。本篇总结旨在详细介绍`string` 类的构造方法、常用操作方法及其功能特性。 #### 一、`string` 类对象...

    详解C++ string常用截取字符串方法

    本文将详细解析两种常用的C++ `std::string`截取字符串的方法:`find`和`find_last_of`,以及如何结合使用它们来满足各种字符串处理需求。 1. `find`方法: `find`方法用于在字符串中查找指定子字符串`strSub`的第...

    c++中double与string相互转换算法

    另一种方法是使用C++11引入的`std::to_string`函数: ```cpp double value = 123.456; std::string strValue = std::to_string(value); ``` 这行代码直接将`double`转换为对应的`std::string`。 接下来,我们来看`...

    C++ String 详解 C++ String 详解

    C++ String 详解是C++标准程序库中的一个重要组件,它提供了一个更加方便和高效的字符串处理方式,相比于传统的char*字符串。C++ String 详解可以自动管理内存,避免了内存泄露和溢出的问题,同时也提供了许多实用的...

    C++ 标准库string replace成员的几个用法

    `replace` 成员函数是 `std::string` 类中一个关键的方法,它允许程序员替换字符串中的子串或字符。本篇文章将详细讲解 `std::string` 的 `replace` 成员函数的几个常见用法。 1. **替换指定长度的子串** ```cpp ...

    C++ string 类 用法总结

    C++中的`std::string`类是处理字符串的利器,它提供了丰富的成员函数和操作,使得在C++中处理文本变得高效且易于管理。这里我们将深入探讨`std::string`的一些主要特性和用法。 首先,`std::string`类的构造函数...

    C++实现string存取二进制数据的方法

    总的来说,当在C++中使用string类处理二进制数据时,需特别注意空字符的影响,正确使用构造函数并传递数据长度,以确保数据的完整性和一致性。同时,理解string类的内部工作原理以及其与二进制数据交互时可能出现的...

    c++中的string常用函数用法总结.doc

    c++中的string常用函数用法总结.doc

    c++ string转换double

    ### C++ 中 string 转换为 double 的方法 在 C++ 编程语言中,字符串(`std::string`)与数值类型(如 `int`、`double`)之间的转换是常见的需求之一。这种转换通常用于处理用户输入的数据、解析配置文件或处理网络...

    C++Builder String,UNICODE,UTF8,ANSI互转的类.rar_c

    在C++Builder中,`String`类型是基于Unicode的,这意味着默认情况下,它存储的是宽字符(每个字符2字节),这与Windows API中的`WCHAR`和`LPCWSTR`类型相匹配。这种设计使得C++Builder可以方便地处理包含多语言字符...

    C++中的string类

    本文将详细介绍如何在C++程序中使用`string`类,包括其声明、初始化、常用成员函数以及一些高级用法。 #### 包含必要的头文件 要在C++程序中使用`string`类,必须首先包含 `&lt;string&gt;` 头文件。请注意,不要将其与...

    C++中string类的基本用法

    C++中string类的基本用法,新学C++的时候会用到的。

    《C++String深入详解2.0版》PDF

    `std::wstring` 的使用方法与 `std::string` 类似,但在处理宽字符方面有所不同。 **1.6.3 `std::wstring` 与控制台** `std::wstring` 在控制台上的输出和输入通常需要特殊处理,以支持宽字符编码。 **1.6.4 `std...

    c#调用c++ dll 传参 string 崩溃的一种解决办法

    在.NET框架中,C#是一种广泛使用的面向对象编程语言,而C++则以其高性能和底层访问能力著称。有时,我们需要利用C++编写性能关键的部分,并将其封装为DLL供C#应用程序调用。这种混合编程模式可以充分利用两种语言的...

Global site tag (gtag.js) - Google Analytics