我正在尝试编译这段代码,但无论出于何种原因它都无法正常工作。有人能帮我吗?我想知道如何正确使用strlen():
#include<iostream>
using namespace std;
int main()
{
char buffer[80];
cout << "Enter a string:";
cin >> buffer;
cout << strlen(buffer);
return 0;
}
我尝试过使用cin.getline(buffer,80);但我得到了相同的编译错误问题。
我的编译器说错误是这个
错误:未在此范围内声明strlen
答案 0 :(得分:35)
您忘记加入<cstring>
或<string.h>
。
cstring
会在strlen
命名空间中为您提供std
,而string.h
会将其保留在全局命名空间中。
答案 1 :(得分:4)
您需要为cstring
添加strlen
标头:
#include <cstring>
您也可以包含string.h
,这会将strlen
放在全局命名空间中,而不是std
命名空间。我认为最好使用cstring
并停止使用using namespace std
。
答案 2 :(得分:0)
您可以包含 <cstring>
,这样就不会出现任何错误。
代码
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char buffer[80];
cout << "Enter a string:";
cin >> buffer;
cout << strlen(buffer);
return 0;
}