使用strlen()时"未在此范围内声明"

Per*_*son 15 c++

我正在尝试编译这段代码,但无论出于何种原因它都无法正常工作.有人能帮我吗?我想知道如何正确使用strlen():

 #include<iostream>
 using namespace std;

 int main()
 {
    char buffer[80];

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

    return 0;

 }
Run Code Online (Sandbox Code Playgroud)

我尝试过使用cin.getline(buffer,80); 但我得到了相同的编译错误问题.

我的编译器说错误就是这个

错误:strlen未在此范围内声明

Rap*_*ptz 37

你忘了包括<cstring><string.h>.

cstringstrlenstd命名空间中提供给你,同时string.h将它保存在全局命名空间中.


Sha*_*our 5

您需要包括cstring标头strlen

 #include <cstring>
Run Code Online (Sandbox Code Playgroud)

您可以选择包含string.h,并将其放入strlen全局名称空间而不是std名称空间。我认为使用cstring和放弃使用是更好的做法using namespace std