社区
C++ 语言
帖子详情
一个关于string转int的问题
olncy
2006-10-01 11:03:16
string temp;
int Length=0;
const char* ch=temp.c_str();
cin>>temp;
Length=atoi(ch);
cout<<Length;
以上程序为什么Length永远是0???????
有没有更好的方法把string转成int???
谢谢。
...全文
890
14
打赏
收藏
一个关于string转int的问题
string temp; int Length=0; const char* ch=temp.c_str(); cin>>temp; Length=atoi(ch); cout<<Length; 以上程序为什么Length永远是0??????? 有没有更好的方法把string转成int??? 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mr_moran
2006-10-07
打赏
举报
回复
天外有天~!
学习 。。。
taodm
2006-10-07
打赏
举报
回复
呃,手脚快了点,应该int i = boost::lexical_cast<int>(str);
taodm
2006-10-07
打赏
举报
回复
to coldwindtang(风),你这个也实在够复杂了。要简单当然是boost::lexical_cast
cin >> str; // 先输入string
int i = boost::lexical_cast(str);
cout << i;
「已注销」
2006-10-07
打赏
举报
回复
这样做比较方便吧,我一直这样做的。
#include <cstdio>
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string str;
cin >> str; // 先输入string
sscanf(str.c_str(), "%d", &i); //这样读入
cout << i;
return 0;
}
liumingrong
2006-10-07
打赏
举报
回复
int intstr = boost::lexical_cast<int,string>(str);
jixingzhong
2006-10-07
打赏
举报
回复
Length ...
楼主你用这个变量名不是摆明了要误导别人么 ...
atoi 函数是转换字符串为整数,
如果这个字符串不可转化,
得到自然是 0 ...
所以,你的字符串必须是 数字字符串,
不是所有的字符都可转换,但是至少开始部分必须是数字字符。
olncy
2006-10-07
打赏
举报
回复
jixingzhong(瞌睡虫:选择了远方,只顾风雨兼程!)
sorry,Length 这个变量名确实有点误导。
其实问题出在
cin >> str;
const char *p = str.c_str();
这两句上,我没注意到const char 这个类型。
我把分给了最先发现这问题的人。
MeE
2006-10-03
打赏
举报
回复
string temp;
int Length=0;
cin>>temp;
const char* ch=temp.c_str();
Length=atoi(ch);
cout<<Length;
这样才差不多
MeE
2006-10-03
打赏
举报
回复
const char* ch=temp.c_str(); 这个是啥意思
初始化就=一个空串?
后面又没改变 不是0才怪了
taodm
2006-10-01
打赏
举报
回复
呃,string的接口说明要认真看的。
c_str()方法在调用其它任何非cosnt接口后即不保证有效。
还算好,没误掉data()接口,就会问为啥字符串长度不对。
Jokar
2006-10-01
打赏
举报
回复
// 0.cpp : defines entry point for application;
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string str;
cin >> str; // 先输入string
const char *p = str.c_str();
int i = atoi(p);
cout << i;
return 0;
}
du51
2006-10-01
打赏
举报
回复
#include<iostream>
#include<sstream>
#include<string>
using namespace std;
int main()
{
int result=0;
string integer="666";
stringstream ss;
ss<<integer;
ss>>result;
cout<<result<<endl;
system("PAUSE");
return 0;
}
OOPhaisky
2006-10-01
打赏
举报
回复
atoi函数,如果输入字符串无法转换成数字,则返回0。
OOPhaisky
2006-10-01
打赏
举报
回复
以上程序为什么Length永远是0???????
------------------------------------------------------
如果楼主输入的不是“数字”,那肯定Length的结果是0,如楼主输入:
abf
但是如果楼主输入的是“数字”,则Length的结果就是楼主输入的数字,如楼主输入:
23
则Length也是23。
关于非数字
String
转
Int
的
一个
问题
本文探讨了Java中如何实现输入四位数求各位置数字之和,并加入输入特定字符串退出的功能。通过字符串判断和字符逐个检查的方法,确保输入合法性。
C#写一般处理程序遇到的
一个
String
和
int
转
换的
问题
本文讲述了在C#中处理一般处理程序时遇到的
String
转
int
问题
。通过实例展示了如何避免`
int
.Parse`和`Convert.To
Int
32`在处理空值时的异常,最终采用了
一个
安全的
转
换方法:先判断字符串是否为空,然后进行
转
换。同时,对比了`Convert.To
Int
32`、`
int
.Parse`、`
int
.TryParse`和强制类型
转
换四者的区别,强调了异常处理和
转
换场景的选择。
浅析 java中
Int
与
String
互相
转
换
问题
本文介绍了Java中
int
与
String
之间的相互
转
换方法,并详细解释了不同
转
换方式的区别。包括使用加法运算符、
String
.valueOf()方法、
Int
eger.parse
Int
()及
Int
eger.valueOf().
int
Value()等方法的具体实现与性能考量。
Java中
int
转
String
和
String
转
int
各方法效率对比
本文介绍了Java中
int
与
String
之间的相互
转
换方法,并通过实验对比了不同
转
换方式的性能差异。对于
int
转
String
,提供了三种实现方式并分析了各自的优缺点;对于
String
转
int
,则对比了两种常见方法的效率。
C++中
string
转
int
本文介绍了在C++中如何将
string
类型的数据
转
换为
int
类型。主要讲述了两种方法:一是使用C风格的atoi()函数;二是利用C++特有的
string
stream类实现
转
换。这两种方法各有特点,适用于不同的场景。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章