C++中的一个语句,atoi(s.substr(5,2).c_str());我不明白c_str()的作用是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:46:33
我理解的是c_str()是将前面substr(5,2)截取得到的string转化成char*型,可为什么要转化呢?

下面是atoi头文件中的原型。
int atoi( const char *str );

C++是强类型的语言
实参与函数声明中的参数类型必须一致

char * 型和string 是完全不同的东西
char *型字符串是一个简单的字符数组,一般会以'\0'结尾,没有其它多余东西
string不一样,它是一个封装的类,是STL中提供的一个支持很多高级操作的数据类型,建议你参考一下C++教程介绍string的部分吧