据说在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 回答