- <string.h> 是C语言标准库的头文件之一,包含了一些字符串/内存处理相关的函数(如 strcpy,memcpy 等)。
- <cstring> 是C++语言标准库的头文件之一,基本上就是 <string.h> 的C++版本,当编写C++程序时如果需要使用 <string.h>,则应当用 <cstring> 代替,并加上 std:: 前缀(如 std::strcpy,std::memcpy 等)。
- <string> 是C++语言标准库的头文件之一,主要包含了 std::basic_string 模板及其相关函数
即:
cstring,是兼容C的头文件.里面的函数是基于C或者说C风格的字符串处理函数或定义或宏。
string是C++标准库函数.提供在std名字空间中的C++字符串处理类string
<string>并非<cstring>的“升级版本”,他们是毫无关系的两个头文件。
链接:https://www.zhihu.com/question/274881112/answer/376939116
#include<cstdio>
#include <cstring>
//#include<string>
using namespace std;
int main(){
// string
char s[50];
scanf("%s",s);
printf("%s ",(strcmp(s,"abc")) ? "!=" : "==");//strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),
//若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。
}
#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
s="adfaf";
string s2="adfafaf";
if(s==s2) cout<<1;
else cout<<0;
}