据说在C++中包含C头文件时,要去掉“.h”后缀,然后在开头加上“c”。例如,#include <cstdio> 代替#include <stdio.h>. 但是当我sleep()在我的代码中使用时,#include <cunistd>它不起作用,但#include <unistd.h>有效。为什么不<cunistd>呢?
44796 次
4 回答
81
您的算法对于大多数(全部?)标准 C 头文件都是正确的,但unistd.h不是标准 C 的一部分,因此标准 C++ 反过来不将它包含在其他c...头文件中。
于 2013-03-11T05:11:38.327 回答
37
因为unistd.h从来都不是 C 语言的一部分。它是操作系统的一部分。
于 2013-03-11T05:12:38.670 回答
21
<unistd.h>, 代表 unix 标准头文件,名字说明了一切。
于 2013-03-11T05:13:47.740 回答
6
unistd.h 不是标准 C 的一部分。标准 C++ 库不包含它与其他 c 头文件。
于 2013-05-27T08:51:39.620 回答