首页 > 代码库 > <string> <string.h>

<string> <string.h>

在C++开发过程中经常会遇到两个比较容易混淆的头文件引用#include<string.h> 和 #include<string>,两者的主要区别如下:

#include<string.h>是C语言的标准库,主要是对字符串进行操作的库函数,是基于char*进行操作的,例如常见的字符串操作函数stpcpy、strcat都是在该头文件里面声明的。

#include<string>是C++语言的标准库,该库里面定义了string类,你可以包含这个头文件,然后定义一个字符串对象,对于字符串的操作就基于该对象进行,例如:string str;

 

       因此,在开发代码的过程中,如果需要使用字符串操作函数stpcpy、strcat等对基于char*的空间进行操作,则需要包含头文件<string.h>,如果要定义string对象则需要包含头文件<string>,如果两中操作都需要,则两个头文件都需要包含。

这个也比较容易记,在C++中的标准库的头文件一般都不带.h,例如<iostream>

<string> <string.h>