VS2010不能将参数 1 从“std::string”转换为“const char *”解决
2013-09-06 09:53
513 查看
VS2010不能将参数 1 从“std::string”转换为“const char*”解决
环境:VS2010
代码:
string = “Hello”;
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
代码:
string = “Hello”;
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不能将参数 1 从“std::string”转换为“const char *”解决
- VS2010不能将参数 1 从“std::string”转换为“const char *”解决
- VS2010不能将参数 1 从“std::string”转换为“const char *”解决
- 如何解决error C2664: “atof”: 不能将参数 1 从“std::string”转换为“const char *”
- VS2013不能将参数 1 从“std::string”转换为“const char *”解决
- VS2010 编码问题 不能将参数 1 从“ATL::CStringT<BaseType,StringTraits>”转换为“const char *”
- VS2010 不能将参数 2 从“char [20]”转换为“LPCWSTR”的错误解决
- error: C2664: 不能将参数从“const char *”转换为“LPCWSTR” 的解决办法
- error C2664: MessageBoxW不能将参数2const char*转换为LPCWSTR的解决办法
- error: C2664: 不能将参数从“const char *”转换为“LPCWSTR” 的解决办法
- VS2010 C++ 串口编程 错误error C2664: “CreateFileW”: 不能将参数 1 从“const char *”转换为“LPCWSTR”
- 不能将参数 1 从“int”转换为“std::_Vector_const_iterator<_Myvec>”(VS2010 )
- error C2664: “countChar”: 不能将参数 1 从“char [20]”转换为“std::string &”
- 不能将参数 2 从“const char *”转换为“LPCWSTR” vs 2010解决
- VS2010下error C2664: “atoi”: 不能将参数 1 从“CString”转换为“const char *”
- error: C2664: 不能将参数从“const char *”转换为“LPCWSTR” 的解决办法
- 【VC++】不能将参数 1 从“_TCHAR”转换为“const char* 问题解决
- error: C2664: 不能将参数从“const char *”转换为“LPCWSTR” 的解决办法
- 不能将参数 1 从“std::string”转换为“const wchar_t *”
- 关于CString剖析,“strcmp”: 不能将参数1从“CString”转换为“const char *”问题