c++中atoi函数

来源:互联网 发布:知乎 新自由主义思潮 编辑:程序博客网 时间:2024/05/16 02:04

1、atoi函数把字符串转换成整型数。其含义是ASCII to integer 的缩写。
 

2、函数说明
1)简介编辑C语言库函数名
atoi
原型:
int atoi(const char *nptr);
UNICODE
_wtoi()
2)函数说明编辑参数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)
{
  floatn;
  char*str = "12345.67";
  n =atoi(str);
  printf("string = %s integer = %f\n", str, n);
  return0;
}
执行结果:
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()
{
  chara[] = "-100" ;
  charb[] = "123" ;
  intc ;
  c =atoi( a ) +atoi( b ) ;
  printf("c = %d\n", c) ;
  return0;
}
执行结果:
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);
  boolneg_flag = false;// 符号标记
  intres = 0;// 结果
  if(p[0] =='+' || p[0] == '-')
    neg_flag = (*p++ !='+');
  while(isdigit(*p)) res = res*10 + (*p++ -'0');
  returnneg_flag ?0 -res : res;
}
 
(改编自百度百科)
0 0