|
|
1
13
如果你是一个经验丰富的C程序员,你会意识到这段代码实际上并没有那么糟糕。它相对简单(对于C),而且速度非常快。它有三个问题:
问题#1很容易通过特殊情况解决。为了解决#2,我将代码分为两个函数,一个用于32位整数,另一个用于64位整数#3是有点难-我们必须改变接口,使完全线程安全。 以下是我的解决方案,基于此代码,但经过修改以解决这些问题:
说明:它在堆栈上创建一个本地缓冲区,然后用与初始代码相同的方法填充该缓冲区。然后,它将其复制到传递给函数的参数中,确保不会使缓冲区溢出。对于INT32_MIN,它还有一个特殊情况。如果原始缓冲区足够大,则返回值为0;如果缓冲区太小,且结果字符串被截断,则返回值为1。 |
|
|
2
2
这不是特别简单,但如果你在一个你不能使用的系统上工作,我不会称之为WTF
注:有些图书馆
|
|
|
3
1
这可能和我写它的方式非常接近。我能马上看出这个解决方案的唯一错误是,在LONG_MIN为-(LONG_MAX+1)的机器上,LONG_MIN不起作用,这是当今大多数机器的情况。我可以用
|
|
4
1
口齿不清:
我很惊讶我能这么容易做到。我的口齿不清书的第一章还没读完。xD(或者我应该说,~:D) |
|
|
5
1
|
|
6
0
通常我会返回一个alloc'd缓冲区,这需要用户释放。这个添加是微不足道的。 |
|
|
7
0
我觉得很无聊,于是用Perl实现了这个幼稚的实现。作品
|
|
|
metrallador10 · 哪种代码更好?效率与代码可读性 2 年前 |
|
|
Justin Xu · 使用return if语句进行重构验证 3 年前 |
|
|
Cino · 如何以体面的方式处理Python异常? 3 年前 |
|
|
SAI BENDE · 如何在多个html文件中使用单个导航栏 3 年前 |
|
|
fstab · 对正常控制流程使用例外情况是一种不鼓励还是不鼓励的做法? 12 年前 |
|
|
SwampYeti · 在CSS中拉伸小背景图像 13 年前 |