最近工作需要,强化一下C++,
用久了eclipse,所以就继续使用Eclipse CDT环境学习C++。
今天按照《Thinking in C++》中的实例调代码,
提示错误:错误:‘strcpy’在此作用域中尚未声明
修改方法:
把原来的
#include <string.h>
改为:
#include <cstring>
问题就解决了。接触C和C++比较少,现在还不明白要为什么这么改,是编译器版本不同的原因嘛。。。
最近查了一下,
<string.h>是表示以前的格式,老格式,C的头文件,对应的是基于char*的字符串处理函数;。现在建议不加.h,但是要与以前的版本兼容。
<cstring>表示引用C的头文件。
<string>表示引用C++的头文件。包装了std 的C++头文件,对应的是新的string 类。
这里有一篇不错的文章:
http://blog.youkuaiyun.com/touchable/article/details/5938624