atoi 原来将字符串02002xzm100转换为int以后是2002

原创 2016年08月30日 11:16:08


将字符里的数字转换成int  遇见0或者字符就结束,look atoi的实现

#include <Windows.h>
int xzm_atoi( char* pstr )
{
	int ret = 0;
	int symbolSign = 1;

	/*
	* 判断指针是否为空 
	*/
	if(pstr == NULL)
	{
		OutputDebugString("Pointer is NULL\n");
		return 0;
	}

	/*
	* 跳过前面的空格字符 isspace返回值是如果无空格则返回NULL
	*/
	while(isspace(*pstr))
	{
		pstr++;
	}

	/*
	* 判断正负号 
	* 如果是正号,指针指向下一个字符 
	* 如果是符号,把符号标记为symbolSign置-1,然后再把指针指向下一个字符 
	*/
	if(*pstr == '-')
	{
		symbolSign = -1;
	}
	if(*pstr == '-' || *pstr == '+')
	{
		pstr++;
	}

	/*
	* 把数字字符串逐个转换成整数,并把最后转换好的整数赋给ret
	*/
	while(*pstr >= '0' && *pstr <= '9')
	{
		ret = ret * 10 + *pstr - '0';
		pstr++;
	}
	ret = symbolSign * ret;

	return ret;
}

测试如下,

#include <Windows.h>
void main()
{
	char strarrayA[] = "-100";
	char strarrayB[] = "0200202002xzm100";
	int  c = 0;

	c = xzm_atoi(strarrayA) + xzm_atoi(strarrayB);
}



版权声明:开放

8. String to Integer (atoi) 字符串转为int类型的所有可能情况

8. String to Integer (atoi) 问题:输入一个字符串,将字符串转为int类型,处理所有可能的输入情况。可能的输入情况:明天早上来总结,先传代码吧。。自己写的:(java)pub...
  • u010223431
  • u010223431
  • 2016年05月08日 21:28
  • 974

c++实现atoi()和itoa()函数(字符串和整数转化)

一:起因 (1)字符串类型转化为整数型(Integer),还是字符串类型(String)转化为Double类型,这在java里面有非常好的内部函数,很easy的事情; (2)但是在c里面没有Integ...
  • u010700335
  • u010700335
  • 2014年11月20日 10:45
  • 6769

C语言实现int转换字符串的一种实现

在技术人员面试的时候,经常会被要求实现标准库的一些函数比如strlen,strcpy,itoa,atoi等等。本文就简单的聊聊一次面试的笔试题,作为一次失败面试的记录。 由于预先不知道整数的...
  • guanlq
  • guanlq
  • 2017年05月28日 08:38
  • 627

atoi函数的详细实现(考虑溢出)

atoi()函数的功能:将字符串转换成整型数。atoi()会扫描参数str字符串,跳过前面的空白字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返...
  • sxh850297968
  • sxh850297968
  • 2015年08月14日 11:37
  • 2396

【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】

【008-String to Integer (atoi) (字符串转成整数)】实现一个atoi函数,将字符串转成整形。要点:考虑所有的输入情况。前导字符是+或-或者没有,接下来输入的是数字,数字不能...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月18日 06:30
  • 2920

c语言 字符串转换为int或float

在c语言编程中,经常会遇到将字符串或者字符数组内的数据转换为int型数据或者float型数据,网上找了好多方法,结果都不可行,可能是C++的函数吧。在经过多方询问后,发现可以用atoi和atof函数来...
  • li6727975
  • li6727975
  • 2015年01月19日 17:08
  • 5422

将char字符转换成int整型,字符串与整型之间的相互转换

int 与字符之间的转换 int与字符串之间的转换
  • chen372901
  • chen372901
  • 2016年08月03日 11:41
  • 9713

COleVariant与常用基本数据类型之间的转换

http://hi.baidu.com/ton666/item/0f52fd430783b9e01381dac5 http://blog.csdn.net/limitedlove/article/de...
  • bytxl
  • bytxl
  • 2013年07月22日 20:42
  • 1583

atoi和itoa函数及负数转正数时溢出问题

首先贴出c函数库里的atoi函数, 其实是atol函数, 因为atoi调用了atol函数. 函数很简单,相信大家一看就懂. isspace函数是判断传入字符是否为空白符, 空白符指空格, 水平制表,...
  • u012410778
  • u012410778
  • 2014年04月22日 21:30
  • 2128

C语言itoa()函数和atoi()函数详解(整数转字符C实现)

C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。 1.int/float to string/array: C语言提供了几个标准库函数,可以将任意类型(...
  • qq_26093511
  • qq_26093511
  • 2017年04月13日 20:56
  • 786
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:atoi 原来将字符串02002xzm100转换为int以后是2002
举报原因:
原因补充:

(最多只允许输入30个字)