2013-07-13 13 views
7

strlen Ich versuche, dieses Stück Code zu kompilieren, aber aus irgendeinem Grunde wird es nicht funktionieren. Kann mir jemand helfen? Ich möchte wissen, wie strlen() zu verwenden, richtig:‚nicht in diesem Bereich erklärt‘, wenn()

#include<iostream> 
using namespace std; 

int main() 
{ 
    char buffer[80]; 

    cout << "Enter a string:"; 
    cin >> buffer; 
    cout << strlen(buffer); 

    return 0; 

} 

Ich habe versucht mit cin.getline (Puffer, 80); aber ich bekomme das gleiche Kompilierfehlerproblem.

Mein Compiler sagt der Fehler ist dies

error: strlen was not declared in this scope

+0

Was ist der Fehler? – Borgleader

+0

mein Compiler sagt dies: Fehler: âstrlenâ wurde nicht in diesem Bereich erklärt – Person

+0

, was mit dem Code falsch ?? – dayitv89

Antwort

24

Sie haben vergessen <cstring> oder <string.h> aufzunehmen.

cstring geben Ihnen strlen im std Namespace, während string.h es im globalen Namespace halten.

+1

ok danke, liebe Person! – Person

3

Sie müssen sich für strlencstring Header enthalten:

#include <cstring> 

Sie alternativ könnten string.h und dass strlen im globalen Namensraum im Gegensatz setzen würde zu std Namensraum. Ich denke, es ist besser, cstring zu verwenden und mit using namespace std zu fallen.

Verwandte Themen