2013-07-13 10 views
7

Próbuję skompilować ten fragment kodu, ale z jakiegokolwiek powodu nie będzie działać. Czy ktoś może mi pomóc? Chcę wiedzieć, jak poprawnie używać strlen():"Nie zadeklarowany w tym zakresie" podczas używania strlen()

#include<iostream> 
using namespace std; 

int main() 
{ 
    char buffer[80]; 

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

    return 0; 

} 

Próbowałem już używać cin.getline (bufor, 80); ale pojawia się ten sam problem z błędem kompilacji.

Mój kompilator mówi o błędzie jest ten

error: strlen was not declared in this scope

+0

Co to jest błąd? – Borgleader

+0

mój kompilator mówi to: błąd: âstrlenâ nie został zadeklarowany w tym zakresie – Person

+0

co jest nie tak z kodem? – dayitv89

Odpowiedz

24

Zapomniałeś dołączyć <cstring> lub <string.h>.

cstring daje strlen w przestrzeni nazw std, natomiast string.h zachowa je w globalnej przestrzeni nazw.

+1

ok, dziękuję, dobra osoba! – Person

3

Trzeba to cstring nagłówek strlen:

#include <cstring> 

można alternatywnie zawierać string.h i że będzie umieścić strlen w globalnej przestrzeni nazw, w przeciwieństwie do przestrzeni nazw std. Myślę, że lepiej jest używać cstring i upuszczać używając using namespace std.

Powiązane problemy