c++中的atoi怎么用?

由string转换成int要求string由键盘输入... 由string转换成int
要求string由键盘输入
展开
 我来答
匿名用户
2013-08-03
展开全部
看看下面这段微软提供的示例就明白了!代码如下:#include <stdlib.h>
#include <stdio.h>

void main( void )
{
char *s; double x; int i; long l;

s = " -2309.12E-15"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = "7.8912654773d210"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = " -9885 pigs"; /* Test of atoi */
i = atoi( s );
printf( "atoi test: ASCII string: %s\t\tinteger: %d\n", s, i );

s = "98854 dollars"; /* Test of atol */
l = atol( s );
printf( "atol test: ASCII string: %s\t\tlong: %ld\n", s, l );
}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////Outputatof test: ASCII string: -2309.12E-15 float: -2.309120e-012atof test: ASCII string: 7.8912654773d210 float: 7.891265e+210atoi test: ASCII string: -9885 pigs integer: -9885atol test: ASCII string: 98854 dollars long: 98854备注:代码来源微软MSDN2008
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-10-15
展开全部
string 是C++ STL定义的类型,atoi是 C 语言的库函数,所以要先转换成 char* 类型才可以用 atoi。
string s;
cin>>s;
int result = atoi( s.c_str() );
(atoi 这个函数比较弱, 只能读一个数字。 真正NB的是 strtol 函数。)

//==============================================
附 atoi 函数说明:

原型: int atoi(const char *nptr);

函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式