当前位置: 安卓之星 -> Java开发 -> c++里string类型转换int类型的函数

c++里string类型转换int类型的函数

作者:网络 发表于: 2017-03-14 点击: 351 次

1) 在C标准库里面,使用atoi:

    #include <cstdlib>
    #include <string>

    std::string text = “152”;
    int number = std::atoi( text.c_str() );
    if (errno == ERANGE) //可能是std::errno
    {
     //number可能由于过大或过小而不能完全存储
    }
    else if (errno == ????)
    //可能是EINVAL
    {
     //不能转换成一个数字
    }

2) 在C++标准库里面,使用stringstream:(stringstream 可以用于各种数据类型之间的转换)

    #include <sstream>
    #include <string>

    std::string text = “152”;
    int number;
    std::stringstream ss;

    ss << text;//可以是其他数据类型
    ss >> number; //string -> int
    if (! ss.good())
    {
    //错误发生
    }

    ss << number;// int->string
    string str = ss.str();
    if (! ss.good())
    {
     //错误发生
    }

3)有这样的库函数的

头文件 stdlib.h 

字符串转换函数 函数列表 
函数用途                函数名
字符串转换为整数         atoi 
字符串转换为长整数       atol 
字符串转换为浮点数       strtod 
字符串转换为长整数       strtol 
字符串转换为无符号长整型 strtoul 
/* strtof example */
#include <stdio.h>/* printf, NULL */
#include <stdlib.h>/* strtof */
in tmain ()
{
charszOrbits[] =”686.97 365.24″;
char* pEnd;
float f1, f2;
f1 = strtof (szOrbits, &pEnd);
f2 = strtof (pEnd, NULL);
printf (“One martian year takes %.2f Earth years.\n”, f1/f2);
return0;
}

相关文章

相关文章

赶快留言冒泡

  • 评论 (0)
  • 引用通告 (0)
目前还没有任何评论.
目前还没有任何Trackbacks和Pingbacks.
吐个泡浮上去.