当前位置:编程学习 > C/C++ >>

对C++的atoi(),substr(),c_str()函数的理解

刚开始接触C++,很多不懂的地方,翻看老大给的代码其中  year = atoi(dateStr.substr(0, 4).c_str());云里雾里。
year = atoi(dateStr.substr(0, 4).c_str());
里面包含三个函数,分别是atoi(),substr(),c_str().
百度:
atoi()函数原型为: int atoi(char *str),用途是将字符串转换成一个整数值,str是待转化成整数值的字符串.成功则返回转化后的整数值,失败返回0.
substr()函数原型为:basic string::substr(string,start,length),也可把string移到外面,为string &a,a.substr(start,length),其中a是待截取的字符串,start表示从截取开始的前一位,length表示截取长度,例如string &a="hello world",则a.substr(6,5)=world.
c_str()函数原型为:const char *c_str(),如果要将string对象,转化为char*对象,c_str()提供了这样一种方法,它返回一个客户程序可读不可改的指向字符数组的指针。

所以year=atoi(dateStr.substr(0,4).c_str())的作用就是,截取string型的对象dateStr,并转化为char*对象,然后将此字符串转换成一个整数值,赋值给year(year是int型).

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,