C++ - include unistd.h: why not cunistd?
C++CC++ Problem Overview
It's said that when including C header files in C++, the ".h" suffix should be removed and then add "c" at the beginning. For example, #include <cstdio>
instead of #include <stdio.h>
. But when I use sleep()
in my code, #include <cunistd>
does not work, but #include <unistd.h>
works. Why not <cunistd>
?
C++ Solutions
Solution 1 - C++
Your algorithm is correct for most (all?) standard C headers, but unistd.h
is not part of standard C so standard C++ in turn doesn't include it with the other c...
headers.
Solution 2 - C++
Because unistd.h
never was part of the C language. It is part of the Operating System.
Solution 3 - C++
<unistd.h>
, stands for unix standard header ,the name says it all.
Solution 4 - C++
unistd.h is not part of standard C. Standard C++ lib doesn't include it with the other c headers.