轻量级前端框架助力开发者提升项目效率与性能
813
2022-09-06
String 类 的c_str()函数
先看一个例子:
int lines, i; int left, right; string strleft, pNode tPointerArray[MaxNum]; pNode tPointer; bool flag[MaxNum] = {false}; cin >> lines; for ( i = 0; i < lines; i++ ) { tPointer = ( pNode )malloc( sizeof( tNode ) ); cin >> strleft >> strright; if ( strleft == "-" ) { left = -1; } else { left = atoi(strleft.c_str()); flag[left] = true; }这段代码里left的值到底是什么意思,函数strleft.c_str();又是什么意思?
今天查到《C++Primer》string的函数c_str()是获取这个字符串的首指针,例如: string str = "1234";那么 char* pStr = str.c_str(); 中 pStr就是指向"1234"字串的首地址 '1' 。
那么知道:
atoi 函数是把字符串的数字转为数字型的数值, 例如:int n = atoi("1234");那么结果是n的数值就为1234。 strleft 是 string 字符串类型的对象, 那么string的函数c_str()是获取这个字符串的首指针, 例如: string str = "1234";那么 char* pStr = str.c_str(); 中 pStr就是指向"1234"字串的首地址 '1' 。 那么 left=atoi(strleft.c_str());就是把 strleft 这个字串(数字)转换为数值型并赋值给 left。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~