string和cstring头文件的区别

Posted ssfzmfy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string和cstring头文件的区别相关的知识,希望对你有一定的参考价值。

 

  • <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;

}

 





以上是关于string和cstring头文件的区别的主要内容,如果未能解决你的问题,请参考以下文章

C\C++关于string.h头文件和string类

CString类型要包含啥头文件

Visual Studio 2008中字符串头文件不是cstring是string?

cstring头文件里的函数怎么用

CString与string的区别

string string.h cstring 分别对应的功能。 求详解。