Tag: systypes.h

使用ssize_t vs int

码 我有一个函数,我可以用以下四种方式之一编写: int do_or_die(int retval); int do_or_die(ssize_t retval); ssize_t do_or_die(int t retval); ssize_t do_or_die(ssize_t retval); 然后,它将使用这两种方式调用库函数: written = do_or_die(write(…)); // POSIX write returns ssize_t printed = do_or_die(printf(…)); // printf returns int 问题 我应该使用哪种原型? 我应该给written和printed什么类型? 我想拥有最强大和标准的代码,同时仍然只有一个do_or_die函数。 我在这种情况下使用C99,但如果C11的答案不同,那么我也想知道这一点,以备将来使用。