Thursday, October 15, 2009

#include vs #include "file"

First: <> vs ""
Both would work if file exist. The difference is the order of directories are searched.
In case of <>: ONLY searches in list of SYSTEM directories. If file does not exist in the system directories then C1083 error.

In case of "file": First searches in the including file directory(current file directory), if not found then searches in the SYSTEM directories. If either is found then C1083 error.

Second: file vs file.h
Some of the header files end with ".h" others do not. Eg stdio.h vs fstream .Both of the files are in system directory so proper inclusion would be
#include
#include

of course the following would work as well
#include "stdio"
#include "fstream.h"

See picture for more clarification example





verifies files are in system directory


ref:http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html