c++中将string类型转换成int

為難 2013-04-18 05:52:25
如果有一个string类型的数据如“123”怎么转换成int类型的也就是123
...全文
440 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
半醉看夕阳 2013-04-20
  • 打赏
  • 举报
回复
果断的atoi
mujiok2003 2013-04-19
  • 打赏
  • 举报
回复
引用 4 楼 youyou1912 的回复:
C/C++ code?12345678#include <sstream>#include <string>using namespace std; string s = "123";stringstream ss(s);int value;ss >> value;
支持。lz都用string了,好多人还atoi
Troi 2013-04-19
  • 打赏
  • 举报
回复
string str="123";
int i;
i = atoi(&str[0]); 
  • 打赏
  • 举报
回复
果断sscanf
tmwanly 2013-04-19
  • 打赏
  • 举报
回复
找到适合自己的方法才是最重要的。
zzmc 2013-04-19
  • 打赏
  • 举报
回复
借楼主的光,问下。stringstream 内存会复制一次吗?然后是时间会比sprintf和atoi慢吗
ForestDB 2013-04-18
  • 打赏
  • 举报
回复
长见识了。。
大黄蜂online 2013-04-18
  • 打赏
  • 举报
回复
利用stringstream,很方便!
turing-complete 2013-04-18
  • 打赏
  • 举报
回复
C++ 0x std::stoi() 注:会抛出异常
kdjkfc1233 2013-04-18
  • 打赏
  • 举报
回复
引用 11 楼 SKATE11 的回复:
string str="123"; int i; i = atoi(&str[0]);
这个方法最好
SKATE11 2013-04-18
  • 打赏
  • 举报
回复
string str="123"; int i; i = atoi(&str[0]);
  • 打赏
  • 举报
回复
用这个函数吧->stoi; 说白了就是 string to int
a2175919 2013-04-18
  • 打赏
  • 举报
回复
不需要判断字符属于0~9么?
為難 2013-04-18
  • 打赏
  • 举报
回复
引用 3 楼 starytx 的回复:
CSS code?12 string s = "123"; int n = stoi(s );
不用包含其他头文件吗;
為難 2013-04-18
  • 打赏
  • 举报
回复
引用 4 楼 youyou1912 的回复:
C/C++ code?12345678#include <sstream>#include <string>using namespace std; string s = "123";stringstream ss(s);int value;ss >> value;
经鉴定你的可以用。。写的最详细;;;上面几个太深了,,估计没指出要包含的头文件
derekrose 2013-04-18
  • 打赏
  • 举报
回复
各种方法真是层出不穷啊
為難 2013-04-18
  • 打赏
  • 举报
回复
引用 1 楼 bloli2007 的回复:
C/C++ code?123456789int StringToInt(char* str){ int nCount = 0,i = 0; while('\0' != str[i]) { nCount = nCount*10 + (str[i++] - '0'); } return nCount;}
传参不应该是sting类型的吗,怎么是char类型的。还有为什么每次都要减去'0'呢,不是只有string的结尾处才是吗,而且你前面也已经加入判断了啊。。。难道是我理解有误
youyou1912 2013-04-18
  • 打赏
  • 举报
回复
#include <sstream>
#include <string>
using namespace std;

string s = "123";
stringstream ss(s);
int value;
ss >> value;
starytx 2013-04-18
  • 打赏
  • 举报
回复
    string s = "123";
    int n = stoi(s );
dahaiI0 2013-04-18
  • 打赏
  • 举报
回复

string str = "123";
int n = atoi(str.c_str() );
加载更多回复(1)

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧