码迷,mamicode.com
首页 > 其他好文 > 详细

String 类 的c_str()函数

时间:2015-02-04 23:30:36      阅读:356      评论:0      收藏:0      [点我收藏+]

标签:string

先看一个例子:
int lines, i;
    int left, right;
  <strong><u>  string strleft,</u></strong>
    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
        {
    <strong><u>   left = atoi(strleft.c_str());</u></strong>
            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。

String 类 的c_str()函数

标签:string

原文地址:http://blog.csdn.net/u013050857/article/details/43495339

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!