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>