2013-07-13 18 views
7

Sto provando a compilare questo pezzo di codice ma per qualsiasi motivo non funzionerà. Qualcuno può aiutarmi? Voglio sapere come usare correttamente strlen():'non dichiarato in questo ambito' quando si utilizza strlen()

#include<iostream> 
using namespace std; 

int main() 
{ 
    char buffer[80]; 

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

    return 0; 

} 

Ho provato a usare cin.getline (buffer, 80); ma ottengo lo stesso errore di compilazione.

mio compilatore dice l'errore è questo

error: strlen was not declared in this scope

+0

Che cos'è l'errore? – Borgleader

+0

il mio compilatore dice questo: errore: âstrlenâ non è stato dichiarato in questo ambito – Person

+0

cosa c'è di sbagliato con il codice ?? – dayitv89

risposta

24

Hai dimenticato di includere <cstring> o <string.h>.

cstring vi darà strlen nel std spazio dei nomi, mentre string.h la conserverà nel namespace globale.

+1

ok grazie persona gentile! – Person

3

È necessario includere cstring intestazione per strlen:

#include <cstring> 

si potrebbe in alternativa includere string.h e che avrebbe messo strlen nel namespace globale in contrapposizione allo spazio dei nomi std. Penso che sia una pratica migliore usare cstring e abbandonare usando using namespace std.

Problemi correlati