本文介绍了什么是用C决定返回值一个很好的一般方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的程序是用C语言编写的Linux,并有不同的图案很多函数的返回值:

1)一个或两个符 N 成功和 1 失败。结果
2)一些回报 0 成功和 1 失败。结果
3)对失败的成功和0一些回报1(我一般用唾弃一个boolean类型)。结果
4)指针返回 0 失败(我一般用唾弃 NULL )。

我的困惑出现在前三 - 函数指针返回总是返回 0 失败,这很容易

第一个选项通常涉及其返回的长度可能只有积极的作用。

第二个选项,通常涉及命令行处理功能,但我不能确定它的正确性,也许更好的价值将是EXIT_SUCCESS和EXIT_FAILURE?

第三个选项是为这是方便,自然要条件范围内调用的函数,而我平时在这里模仿布尔类型,使用 INT 值1和0

尽管这一切似乎相当明智的,我仍然觉得领域,这不是很清楚或明显,因为当我创建函数,或风格是在使用的时候我想用它来使用的风格。

所以,我怎么能在这里的返回类型决定何时增加清晰度我的做法?


解决方案

Pick one pattern per return type and stick with it, or you'll drive yourself crazy. Model your pattern on the conventions that have long been established for the platform:

  • If you are making lots of system calls, than any integer-returning function should return -1 on failure.

  • If you are not making system calls, you are free to follow the convention of the C control structures that nonzero means success and zero means failure. (I don't know why you dislike bool.)

  • If a function returns a pointer, failure should be indicated by returning NULL.

  • If a function returns a floating-point number, failure should be indicated by returning a NaN.

  • If a function returns a full range of signed and unsigned integers, you probably should not be coding success or failure in the return value.

Testing of return values is a bane to C programmers. If failure is rare and you can write a central handler, consider using an exception macro package that can indicate failures using longjmp.

这篇关于什么是用C决定返回值一个很好的一般方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-06 01:40