月度归档: 2016年11月

4 篇文章

thumbnail
应该记住:数组和指针是不同的事物
为什么会引起混乱? 首先,请允许我强调一下本章的重要观点。 C语言的数组和指针是完全不同的。 大家都说C语言的指针比较难,可是真正地让初学者“挠墙”的,并不是指针自身的使用,而是“混淆了数组和指针”。此外,很多“坑爹”的入门书对指针和数组的讲解也是极其混乱。 比如,K&R中就有下面一段文字(p.119) C语言的指针和数组之间有很强的关联关系,因此…
thumbnail
iOS扫描12位数条形码却拿到了个13位的条形码怎么办?
在工作中遇到了这个一个问题,我们的APP中有扫描条形码的功能,但是最近由用户反应扫描条形码查询不到信息,到数据库中查了发现用户上传的条形码是以0开头的13位条形码。 随后根据用户的描述,在某东上找到了该商品的条形码(上图),发现该条形码只有12位而使用我们的APP扫描得到的条形码却是0300087234016,不难看出其实前面多出了一个0。 这好办…
32位CPU(iPhone5)出现的NSInteger溢出问题
在我们的APP中,有一处地方展示的是“生日”,这个生日数据是请求服务器返回的数据,在上一个版本发布之后陆续地有用户反馈说每次修改完生日就变成了1969年或1970年的日期,与后台的哥们沟通了之后发现,APP传给服务器的参数有时候甚至可能是负的(参数是毫秒数)。 那一天我们几乎花了一整天的时间去复现这一个Bug,然而并没有找到原因,直到下午五点…… …
iOS如何统计中英文混合的字符串字节数
有时候我们在开发过程中,服务端使用了varchar来保存字符串,这时候如果直接用字符串的.length属性获得字符串长度的话可能会导致字符串在服务端数据库中被截断。比如varchar(256)可以存储128个汉字或者256个英文字母,而你上传的字符串超过了128个汉字的长度。但是我们也不能直接判断字符串的length是否小于等于128,因为当字符串…