C++关于string的用法

本文详细介绍了C++标准库中的string类,涵盖了字符串的管理、声明与初始化、动态大小调整、安全性和基本操作等内容,展示了如何使用string进行高效、安全的字符串操作。
摘要由CSDN通过智能技术生成

1.string简介

string是C++标准库的重要组成部分,主要用于字符串处理。使用string库需要在头文件中包括该库 #include<string>string与char[]不同,string实现了高度的封装,可以很方便地完成各种字符串的操作,比如拼接、截取、匹配等等。

1)字符串管理:string封装了字符串的存储和管理。它自动处理字符串的内存分配和释放,避免了手动管理内存的麻烦。


2)动态大小调整:string可以根据需要自动调整字符串的大小。在添加或删除字符时,string会自动调整内部的存储容量,确保足够的空间来容纳字符串。


3)安全性:string提供了一些方法来确保字符串的安全性。例如,它提供了越界访问检查,以避免访问超出字符串范围的字符。


4)迭代器支持:string支持迭代器,可以使用迭代器遍历字符串中的字符,进行字符级别的操作。

5)兼容性:string是C++标准库的一部分,因此在C++中广泛使用,并且与其他标准库组件和C++语言特性兼容。

2.string的声明与初始化

#include <iostream>

#include <string>

using namespace std;

int main() {

	// 声明并初始化一个空字符串

	string str1;

	// 使用字符串字面量初始化字符串

	string str2 = "Hello, world!";

	// 使用另一个string对象来初始化字符串

	string str3 = str2;

	// 使用部分字符串初始化字符串

	string str4=str2.substr(0,5);

	// 使用字符数组初始化字符串

	const char* charArray = "Hello";

	string str5(charArray);

    // 使用重复的字符初始化字符串

	string str6(5, 'A');

	// 输出字符串内容

	cout << "str1:" << str1 << endl;

	cout << "str2:" << str2 << endl;

	cout << "str3:" << str3 << endl;

	cout << "str4:" << str4 << endl;

	cout << "str5:" << str5 << endl;

	cout << "str6:" << str6 << endl;

return 0;

}

运行结果如下:

3.各种基本操作

在C++中,string类提供了一个成员函数c_str(),用于返回一个指向以空字符结尾的C风格字符串(即const char*类型)。在进行printf输出时,需要将string转换为C风格的字符串进行输出。

#include<bits/stdc++.h>
using namespace std;

int main() {
	char buf[100];//临时变量,用于输入
	scanf("%s", buf);//输入buf
	string str(buf);//用buf来构造str
	printf("str=%s\n", str.c_str());//输出str

	return 0;
}

 

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值