最近工作需要,強化一下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 類。
這裏有一篇不錯的文章: