C++中 string 和cstring 头文件 有啥区别????

Posted

tags:

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

百度了很多了 看了很多 解释不清楚 我要你们自己了解的自己答案 不要复制!!!!!!!!!!!!!!!

我知道C中的string.h 在c++中变成了 cstring 但是C++中的 string 和cstring 有什么区别??????

cstring,是兼容C的头文件.里面的函数是基于C或者说C风格的字符串处理函数或定义或宏
string是C++标准库函数.
提供在std名字空间中的C++字符串处理类string
参考技术A <cstring> 如你所说,定义的是string.h的包含,面向的是C风格的字符串,处理的是char*,'\0'结尾的这种类型的字符串,调用的时候使用全局命名空间

<string>则是定义的std命名空间下的,基于stl的标准字符串.面向的是基于模板的字符串对象.调用的时候需要使用std命名空间
参考技术B 你可以用标准的string,也可以用CString。如果没什么必要还是用string吧。

之所以有CString,那是历史原因。CString诞生的时候,C++标准还没出来。

--问题补充:为什么Turbo C++ 3.0却不可以用string呢?
--tc 3可以编c++的啊,怎么连string都用不了?

C++标准是98年出来的。tc3是98年以前出来的,所以你应该用新点的编译器。用VC2005,这个比较符合标准
本回答被提问者和网友采纳
参考技术C c 中string.h定义了一些对字符串操作,内存操作的函数
C++ cstring 将 c中这些操作封装成一个 CString 类

C++中的cmath头文件

问问各位大侠,在VC中#include<cmath>头文件在什么情况下调用,和具体有什么要求,谢谢了。
小弟不胜感激!!!

math.h是C语言的头文件。其实在C++中用math.h也是可以的,C++是兼容C的。
不过推荐的是使用#include,而且必须声明在std命名空间:using namespace std;其中的函数和使用方法几乎完全相同。
VC里面是math.h,cmath是c++标准风格的头文件,位于std命名空间,用法和math.h差不多,都是包含一些常见的数学函数,比如平方、正余弦等等
参考技术A 按命名规则,cmath 应该是math.h的C++版,什么时候用math.h就什么时候用cmath替代。一般是要用到常用的数学函数时调用,比如abs(),sin()等。 参考技术B VC里面是math.h,cmath是c++标准风格的头文件,位于std命名空间,用法和math.h差不多,都是包含一些常见的数学函数,比如平方、正余弦等等
具体参考:http://www.ggv.com.cn/forum/clib/clib.html本回答被提问者采纳
参考技术C 回答

1. ceil()向上取整2. round()四舍五入取整,3. floor()向下取整且以上所有参数必须为double型4.取整与取余double modf (double,double*); 将参数的整数部分通过指针回传,返回小数部分double fmod (double,double); 返回两参数相除的余数绝对值1. int abs(int );求整型的绝对值2. double fabs (double);求实型的绝对值3. double cabs(complex);求复数的绝对值三角函数1、 三角函数double sin(double);正弦double cos(double);余弦double tan(double);正切2 、反三角函数double asin (double); 结果介于[-PI/2,PI/2]double acos (double); 结果介于[0,PI]double atan (double); 反正切(主值),结果介于[-PI/2,PI/2]double atan2 (double,double); 反正切(整圆值),结果介于[-PI,PI]3 、双曲三角函数double sinh (double);double cosh (double);double tanh (double);没有现成的cot三角函数,可以使用tan(PI/2-x)来实现指数与对数double frexp(double value,int exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f2^exp。其中f取值在0.5~1.0范围或者0。double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^expdouble modf(double value,double *iptr);拆分value值,返回它的小数部分,iptr指向整数部分。double log (double); 以e为底的对数double log10 (double);以10为底的对数double pow(double x,double y);计算x的y次幂fl

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

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

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

c++字符串使用

C++ string在头文件中的使用

C++ string 基本用法

string string.h=cstring=str