今天看linux内核驱动的代码,发现一个算法写得挺简单,也有意思。

分享一下我的测试代码:

#include <stdio.h>
typedef int U32 ;
U32 String2Dec( const char *pstr )
{
	char ch;
	U32 value;
	value = 0;
    //从字符串的第一个字符遍历到'\0'
	while( *pstr != '\0' )
	{
		//获取字符
		ch = *pstr++;
		//判断字符是否在0-9这个范围
		if( ch >= '0' && ch <= '9' )
		{
			//ch-'0'相当于将字符转换为整数
			value = value * 10 + ch - '0';
		}
	}
	//返回
	return value;
}
int main(void)
{
	char *pstr = "123456" ;
	int num = String2Dec(pstr);
	printf("num:%d\n",num);

}

运行结果:123456

最新文章

  1. ORB-SLAM(五)优化
  2. C#并行编程-线程同步原语
  3. python内置函数 3
  4. 记一次IIS Express 之经典模式与集成模式切换
  5. Unity烂笔头1-自定义INSPECTOR属性窗口节点项
  6. 盒模型结构——3D盒模型
  7. hiho48 : 欧拉路&#183;一
  8. SQL Server 数据库中关于死锁的分析
  9. BZOJ 1071组队
  10. Hadoop将过时了?
  11. GCD 深入理解
  12. jieba库的使用和好玩的词云
  13. 微软BI 之SSIS 系列 - Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧
  14. left outer join的on不起作用
  15. 添加删除tag
  16. Spring注入,Ioc的具体配置
  17. python初始化list列表(1维、2维)
  18. C++虚函数virtual,纯虚函数pure virtual和Java抽象函数abstract,接口interface与抽象类abstract class的比较
  19. [Pytorch]Pytorch中图像的基本操作(TenCrop)
  20. JPEG文件格式

热门文章

  1. Jenkins: Can&#39;t connect to Docker daemon解决办法
  2. 学习ASP.NET Core Razor 编程系列六——数据库初始化
  3. VINS 估计器之检查视差
  4. [LeetCode] Redundant Connection II 冗余的连接之二
  5. [LeetCode] K Inverse Pairs Array K个翻转对数组
  6. [LeetCode] The Maze III 迷宫之三
  7. ML笔记:Deep Learning
  8. [SCOI 2010]字符串
  9. [ZJOI2007]报表统计
  10. VS2012不能加载想要打开的项目/解决方案