2012-04-04 25 views
2

我在NetBeans中,編程在C++中的工作,我有一個問題: 我的節目曾在視覺完美的,但一旦我把它複製到NetBeans中,字符串庫的strlenstrcpy(功能)不起作用。在C++中使用的字符串庫

編譯器說:

unable to resolve identifer strlen 
error: 'strlen' was not declared in this scope. 

我已經做了#include <string>

任何想法?

+2

頭球恰好你包括哪些? – jrok 2012-04-04 10:14:20

+0

你可以附加一個片段嗎? – 2012-04-04 10:18:36

+0

cstring的作品,但你確定它不是C? – Jjang 2012-04-04 10:27:12

回答

3

你做完

#include <cstring> or 

#include <string.h> 

而且檢查GCC或cygwin的編譯器是正確與NetBeans

+3

這 - 如果你用C++模式編譯,確保你使用頭。 實際上可能被評估爲STL字符串,這不是你想要的。 – IneQuation 2012-04-04 10:19:00

+2

另外,如果包括cstring這些函數將被放入std命名空間 – 2012-04-04 10:30:04

+3

@IQIQuation:這應該永遠不會是這種情況,如果你遇到它,那麼你正在使用一個破碎的C++實現。附錄D.5中的標準明確指出,C++標準庫必須提供''(和24個其他頭文件)以與C兼容。 – 2012-04-04 12:08:32

-1

配置除了使用

#include <cstring> 

也確保你已經把

using namespace std; 

using std::strlen; 
using std::strcpy; 

提前程序