【C++】string详解

C++学习笔记系列

C++学习笔记——与地址相关的运算“*”和“&”关系.


前言

C++中采用string类可以很方便的使用字符串,同时也支持C语言风格的字符串。string 是 C++ 中常用的一个类,在使用 string 类需要包含头文件<string>。


一、string类对象的定义

C++可以支持用“=”对string类对象进行赋值,也支持用字符串常量对其进行初始化。

#include <iostream>
#include <string>//使用string类
using namespace std;
int main(){
   
   
    string s1;//仅定义,无初始化,赋默认值"",也就是空字符串
    string s2 = "c plus plus";//初始化为"c plus plus",结尾无'\0'
    string s3 = s2;//用s2对s3进行初始化
    string s4 (5, 's');//初始化为5个's'组成的字符串,"sssss"
    return 0;
}

二、求字符串的长度length()

string类提供的函数 length() 函数可以得到字符串的长度,而string类对象是不包括休止符’\0’的,length() 返回的是字符串的真实长度,而不是长度 +1。

string s = "http://c.biancheng.net";
int len = s.length();
cout<<len<<endl;//输出结果为22

三、与C语言相关的一些用法

1.转换为C语言风格的字符串c_str()

该函数将string字符串转换为C风格的字符串,并返回该字符串的const指针(const char*)

string path = "D:\\demo.txt";
FILE *fp = fopen(path.c_str(), "rt");

为了使用C语言中的 fopen() 函数打开文件,必须将 string 字符串转换为C风格的字符串。

2.大小写问题

string类的字符串对象是大小写敏感的,因此我们可以使用C语言中的大小写转换函数toupper和tolower来帮助我们解决string类的大小写问题。
记录一道在牛客上的题:
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写。

#include<iostream>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值