环境:VS2010
代码:int len = strlen(str);//求字符串长度
解决:
std::string类有一个方法叫c_str()就是取出string对象的字符串,实现到char *的转换,调用方法:strlen(str.c_str());
总结:strlen只能用于c风格字符串,不能用于string,因为strlen是在遇到\0时结束判断的。用这个strlen(a.c_str())方法把string转换成c风格字符串即可解决。
本文详细解释了在VS2010环境下,如何解决使用std::string对象时,直接调用strlen()函数导致的错误。通过将string对象转换为c风格字符串,利用str.c_str()方法,可以成功解决该问题并正确获取字符串长度。
环境:VS2010
代码:int len = strlen(str);//求字符串长度
解决:
std::string类有一个方法叫c_str()就是取出string对象的字符串,实现到char *的转换,调用方法:strlen(str.c_str());
总结:strlen只能用于c风格字符串,不能用于string,因为strlen是在遇到\0时结束判断的。用这个strlen(a.c_str())方法把string转换成c风格字符串即可解决。
1678
1万+
5万+
7792

被折叠的 条评论
为什么被折叠?