1. fprintf:输出到文件描述符对应的文件
- stderr:错误输出也是一种特殊的文件描述符
#define FatalError(str) fprintf(stderr, "%s
", str); exit(-1)
#define Error(str) FatalError(str)
2. strlen 的实现
#include <string.h>
size_t (strlen)(const char* s)
{
/* find length of s[]*/
const char* sc;
for (sc = s; *sc != ' '; ++sc)
;
return (sc-s);
}
3. fputs vs fprintf
从二者的接口,我们可见二者的主要区别:
int fputs(const char * _Str, FILE * _File);
int fprintf(FILE * _File, const char * _Format, ...);
即在于,fprintf
能够格式化将要向文件流写入的字符串,像printf
所做的那样,这也是两个函数调整参数顺序的原因。