读书人

strlen函数请问!

发布时间: 2012-02-20 21:18:23 作者: rapoo

strlen函数请教!!!
int n,m;
n=strlen(string);
m=sizeof(string);
cout<<"The length of "<<n<<":"<<m<<endl
为什么n的值是11,难道加了string的六个字符长度?

[解决办法]
strlen 参数 是const char* 。你写的string ...
[解决办法]
string是BCB的一个类,这样用容易出错。
[解决办法]

探讨
你好,不知道你用的是什么编译器,
总之,string是一个字符串类型,所在头文件:#inlcude <string.h>[C]  #include <string>[C++]
n=strlen(string); 是有语法错误的
strlen是用来求一个字符数组(字符串)的长度的,其参数是字符串的首地址。
你可以这样来取得一个string变量的长度:
string a="123";
int n=strlen(a.c_str());
或者:
char *p="123";
int n=strlen(p);

sizeof()是用来取某个类型单位的默认长度的。其参数要是系统自定义的基本类型,比如int ,char等。用string是不定长单位的,所以sizeof(string)应该也是非法使用。

[解决办法]
strlen(const char*)
[解决办法]
string是stl中的字符串类
String是VCL中的字符串类

读书人网 >C++ Builder

热点推荐