c++中的#include<srting>包含c语言中string.h中的strcpy()等函数吗?

我试过了,可以用,是包含了这些函数的 ;
可是我用#include<string>能用strcpy(),如何解释?

不包含
<string>中包含的是C++ STL中的string类
而<string.h>包含的是c中的字符串函数,
<cstring>是c++为了向下兼容c而把<string.h>标准化,所有函数被加入到命名空间std里。

你的<string>可以用strcpy()是因为<iostream>里包含了<cstring>(g++的旧版本),现在的新版本g++好像不是这样了
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-09
不包括! .<string.h>和<string>是两个完全不一样的东西。后者是STL string类的头文件,前者是C++类库对C类库<string.h>的封装(其实内部就只是加了一个namespace,再include了<string.h>而已)
第2个回答  2009-11-09
你自己调一下strcpy()函数不就知道有没有了吗!!
第3个回答  2009-11-09
不包括
string.h在c++里是cstring
相似回答