由字面意思,unistd.h是unix std的意思,是POSIX标准定义的unix类系统定义符号常量的头文件,

包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数。 


unistd.h在unix中类似于window中的windows.h!

#ifdef WIN32
#include <windows.h>
#else
#include <unistd.h>
#endif

unistd.h含有的常量与函数:

ssize_t      read(int, void *, size_t); // 读取文件使用
 int          unlink(const char *);
 ssize_t      write(int, const void *, size_t); // 写文件
 int          usleep(useconds_t); // 进程休眠,单位为微妙
 unsigned     sleep(unsigned); // 进程休眠,单位为秒 int          access(const char *, int); // 获取文件的权限
 unsigned     alarm(unsigned);
 int          chdir(const char *);
 int          chown(const char *, uid_t, gid_t);
 int          close(int); // 关闭文件
 size_t       confstr(int, char *, size_t);
 void        _exit(int);
 pid_t        fork(void);  
 NULL           // Null pointer
 SEEK_CUR    // Set file offset to current plus offset.
 SEEK_END    // Set file offset to EOF plus offset.
 SEEK_SET    // Set file offset to offset.

许多在Linux下开发的C程序都需要头文件unistd.h,但VC中没有个头文件,
所以用VC编译总是报错。把下面的内容保存为unistd.h,可以解决这个问题。

/** This file is part of the Mingw32 package.
* unistd.h maps (roughly) to io.h
*/

#ifndef _UNISTD_H
#define _UNISTD_H
#include <io.h>
#include <process.h>
#endif /* _UNISTD_H */