博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
String 类 的c_str()函数
阅读量:4166 次
发布时间:2019-05-26

本文共 864 字,大约阅读时间需要 2 分钟。

先看一个例子:
 
[html]   
  1. int lines, i;  
  2.     int left, right;  
  3.   <strong><u>  string strleft,</u></strong>  
  4.     pNode tPointerArray[MaxNum];  
  5.     pNode tPointer;  
  6.     bool flag[MaxNum] = {false};  
  7.     cin >> lines;  
  8.     for ( i = 0; i < lines; i++ )  
  9.     {  
  10.         tPointer = ( pNode )malloc( sizeof( tNode ) );  
  11.         cin >> strleft >> strright;  
  12.         if ( strleft == "-" )  
  13.         {  
  14.             left = -1;  
  15.         }  
  16.         else  
  17.         {  
  18.     <strong><u>   left = atoi(strleft.c_str());</u></strong>  
  19.             flag[left] = true;  
  20.         }  
这段代码里left的值到底是什么意思,函数
strleft.c_str();
又是什么意思?
今天查到《C++Primer》
[html]   
  1. 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。

转载地址:http://nkexi.baihongyu.com/

你可能感兴趣的文章
【MongoDB】MongoDB之八大优化技巧
查看>>
【Monogdb】MongoDB的介绍以及同类数据库的对比
查看>>
【Monogdb】MongoDB的日志系统
查看>>
【MongoDB】Mongodb数据库之Capped Collection集合
查看>>
【MongoDB】MongoDB数据库之海量存储机制
查看>>
【MongoDB】MongoDB数据库之MapReduce编程模型
查看>>
【MongoDB】MongoDB之优化器Profiler
查看>>
【MongoDB】MongoDB之遗漏知识点
查看>>
【MongoDB】探讨《MongoDB权威指南》书籍中的几点错误
查看>>
【MongoDB】数组和范围查询的相互作用
查看>>
【传递正能量】2014年感动我的十大微视频
查看>>
设计模式学习笔记-状态模式
查看>>
【MongoDB】MongoDB之聚合框架
查看>>
【MongoDB总结】写给想学习MongoDB的小伙伴们
查看>>
2015年的工作计划
查看>>
【时间管理】总结情况,思考做法
查看>>
【时间管理】横向管理工作进程
查看>>
【时间管理】纵向管理工作进程
查看>>
【时间管理】学会管理自己的时间、空间和工具
查看>>
【时间管理】对工作的进度得把控
查看>>