2012-04-04 5 views
2

Ich bin in Netbeans, Programmierung in C++ zu arbeiten, und ich habe ein Problem: Mein Programm in Visual perfekt gearbeitet, aber sobald ich es Netbeans kopiert, die strlen und strcpy (Funktionen der String-Bibliothek) nicht funktionieren.Verwenden von String-Bibliothek in C++

Der Compiler sagt:

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

I #include <string> getan haben.

Irgendwelche Ideen?

+2

Welche genau Sie aufgenommen haben header? – jrok

+0

können Sie ein Snippet anhängen? –

+0

cstring funktioniert, aber sind Sie sicher, dass es nicht von C ist? – Jjang

Antwort

3

Haben Sie

getan
#include <cstring> or 

#include <string.h> 

auch überprüfen, ob die gcc oder Cygwin-Compiler richtig mit Netbeans

+3

Wenn Sie im C++ - Modus kompilieren, stellen Sie sicher, dass Sie den Header verwenden. könnte tatsächlich für die STL-Zeichenfolge ausgewertet werden, was nicht das ist, was Sie wollen. – IneQuation

+2

Auch wenn includecstring diese Funktionen in std Namespace –

+3

@ IneQuation: Das sollte * nie * der Fall sein, wenn Sie es dann haben, arbeiten Sie mit einer kaputten C++ - Implementierung. Der Standard in Anhang D.5 besagt klar, dass die C++ - Standardbibliothek "" (und 24 andere Header) zur Kompatibilität mit C anbieten muss. –

-1

Neben der Verwendung von

#include <cstring> 

auch sicherstellen, dass Sie haben

setzen konfiguriert ist
using namespace std; 

oder

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

vor Ihrem Programm