头文件string.h、string和cstring有什么区别(一张图分清)

string.hstringcstring这两个头文件最然名字极为相似,但string.hC语言中的头文件stringC++的头文件cstring也是C++的头文件,不过它相当于C++版的string.h,关系如下:
string.h,string和cstring关系图

C语言中的string.h

string.hC语言标准库中的一个头文件,它提供了一系列用于处理C风格字符串(即以空字符’\0’结尾的字符数组)的函数
它的功能包括字符串的复制(strcpy)、连接(strC++cat)、比较(strcmp)、查找(strchrstrstr)、长度计算(strlen)等功能。这些函数直接操作字符数组,不涉及任何面向对象的概念(C语言是一种面向过程的编程语言,C++面向对象)
使用时应在程序开头写下#include <string.h>

C++标准库中的string

string:C++标准库中的一个类,它提供了丰富的接口来操作字符串。与C风格的字符串相比,std::string 类提供了更安全、更方便的操作方式
std::string 类封装了字符数组,提供了诸如长度计算(length() 或 size())、字符串连接(+ 操作符)、比较(==、<、>等操作符)、查找(find())、子串提取(substr())、字符串替换(replace())等功能。此外,它还负责内存管理,自动处理内存分配和释放,减少了内存泄漏的风险
在C++程序中,使用std::string需要包含#include ,并且通常需要在类型前加上std::前缀,或者通过using namespace std;来避免重复书写std::

C++标准库中的cstring

ctsring基本上是C语言中<string.h>头文件的C++版本。cstring提供了与字符串处理相关的函数,这些函数通常用于操作以空字符(‘\0’)结尾的字符数组,即C语言风格的字符串
值得一提的是,cstring中的函数并不在std命名空间中,因此在调用这些函数时不需要加std::前缀,使用时只需要包含#include 即可(这只局限于某些过时的编译器,VS这种编译器就通过不了编译,会显示已弃用,因为它不安全,string.h中的函数也是这样)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值