In the C and C++ programming languages, what is the difference between using angle brackets and using quotes in an include
statement, as follows?
#include <filename>
#include "filename"
c-preprocessorc++header-filesinclude
In the C and C++ programming languages, what is the difference between using angle brackets and using quotes in an include
statement, as follows?
#include <filename>
#include "filename"
Best Solution
In practice, the difference is in the location where the preprocessor searches for the included file.
For
#include <filename>
the preprocessor searches in an implementation dependent manner, normally in search directories pre-designated by the compiler/IDE. This method is normally used to include standard library header files.For
#include "filename"
the preprocessor searches first in the same directory as the file containing the directive, and then follows the search path used for the#include <filename>
form. This method is normally used to include programmer-defined header files.A more complete description is available in the GCC documentation on search paths.