我在C中实现了一个htoi(十六进制整数到八进制整数)函数.函数签名如下:
int htoi(char* s);
Run Code Online (Sandbox Code Playgroud)
基本逻辑相当简单,主要关注的是如何处理极端测试数据,如oxazzz,ox ??? DFSLA等无效十六进制数.显然,一些神奇的数字不起作用,因为结果可能是任何整数.
我想采取的一个解决方案是更改功能签名,例如:
int htoi(char* s, bool* error);
当s不是有效的十六进制数时,将错误设置为true.但它似乎不是一个好的解决方案.因此,处理这种情况应该是什么最好的做法,因为C中没有可用的异常抛出机制?
| 归档时间: |
|
| 查看次数: |
194 次 |
| 最近记录: |