C语言库函数名
atoi
原型:
int atoi(const char *nptr);
函数说明编辑
参数nptr字符串,如果
第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回
整型数。否则,返回零,
头文件: #include <
stdlib.h>
程序例:
1)
1
2
3
4
5
6
7
8
9
10
|
#include <stdlib.h>
#include <stdio.h>
int
main(
void
)
{
float
n;
char
*str =
"12345.67"
;
n =
atoi
(str);
printf
(
"string = %s integer = %f\n"
, str, n);
return
0;
}
|
执行结果:
string = 12345.67 integer = 12345.000000
2)
1
2
3
4
5
6
7
8
9
10
11
|
#include <stdlib.h>
#include <stdio.h>
int
main()
{
char
a[] =
"-100"
;
char
b[] =
"123"
;
int
c ;
c =
atoi
( a ) +
atoi
( b ) ;
printf
(
"c = %d\n"
, c) ;
return
0;
}
|
执行结果:
c = 23
简单的实现atoi函数C语言
源代码:
1
2
3
4
5
6
7
8
9
10
|
#include <ctype.h>
int
my_atoi(
const
char
* p){
assert
(p != NULL);
bool
neg_flag =
false
;
// 符号标记
int
res = 0;
// 结果
if
(p[0] ==
'+'
|| p[0] ==
'-'
)
neg_flag = (*p++ !=
'+'
);
while
(
isdigit
(*p)) res = res*10 + (*p++ -
'0'
);
return
neg_flag ?0 -res : res;
}
|