2012-04-04 12 views
2

私はNetbeansでC++でプログラミングしていますが、問題があります: 私のプログラムはビジュアルで完璧に機能しましたが、Netbeansにコピーした後はstrlenstrcpy )は動作しません。C++での文字列ライブラリの使用

コンパイラは言う:私は#include <string>を行っている

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

アイデア?

+2

? – jrok

+0

スニペットを添付できますか? –

+0

cstringは動作しますが、それはCではないと確信していますか? – Jjang

答えて

3

あなたはまた、GCCやcygwinのコンパイラが正しく

#include <cstring> 

を使用してほかのNetBeans

+3

これはC++モードでコンパイルする場合は、ヘッダーを使用していることを確認してください。 は実際にはあなたが望むものではないSTL文字列に評価されるかもしれません。 – IneQuation

+2

また、cstringを含めると、これらの関数はstd名前空間に入れられます。 –

+3

@IneQuation:これは決してありません。もしあなたが遭遇した場合は、壊れたC++実装で作業しています。付録D.5の標準では、C++標準ライブラリはCとの互換性のために ''(および他の24個のヘッダ)を提供しなければならないことを明確に述べている –

-1

が設定されているかどうかを確認また、あなたが

using namespace std; 
を入れていることを確認してください

#include <cstring> or 

#include <string.h> 

を行っています

または

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

先に正確にあなたが含まれていヘッダプログラム

関連する問題