#include

Die wohl am häufigsten gebrauchte Direktive des Preprozessors. Mittels dieser Direktive werden explizit Dateien an der angegebenen Stelle in den Programmcode eingefügt. Der Inhalt der eingefügten Datei wird daraufhin ebenfalls geparst. Im folgenden Beispiel wird eine selbst hergestellte Datei header1.h in eine andere Datei mit der #include-Direktive eingefügt. Für selbst geschriebene Dateien verwendet man Anführungs- und Schlusszeichen "". Die Ausgabe der zweiten Datei zeigt, was der Preprozessor generiert.

// This is file "header1.h" #define PI 3.14

// This is file "header2.h" #include "header1.h" // Including file finished.

// This is file "header2.h" // This is file "header1.h" #define PI 3.14 // Including file finished.

Mit der #include-Direktive werden auch die Standardbibliotheken in den Programmcode eingefügt, hierbei verwendet man jedoch die grösser- und kleiner-Klammern <>:

#include <stdio.h> int main(){ printf("Hello World!\n"); return 0; }

Hello World!

Details

Die grösser- und kleiner-Klammern <> weisen den Preprozessor an, nach der angegebenen Datei in bestimmten Suchpfaden zu suchen, die vom System her bekannt sind. Dies beinhaltet insbesondere die Standard-Bibliotheken sowie möglicherweise dem System hinzugefügte Bibliotheken. Der Preprozessor sucht jedoch nicht im Verzeichnis des Programmierers, deswegen sollte man selbst hergestellte Dateien nicht mit grösser- und kleiner-Klammern einfügen (Versuche haben allerdings ergeben, dass die Dateien trotzdem gefunden werden, was aber dennoch nicht empfehlenswert ist).

Um selbst hergestellte Dateien mittels der #include-Direktive einzufügen, benötigt man die Anführungs- und Schlusszeichen "". Diese weisen den Preprozessor an, zuerst im Verzeichnis der aktuellen Datei zu suchen. Wenn die Datei nicht gefunden wird, wird in dem explizit angegebenen Suchpfad (beispielsweise auch mit relativer Verzeichnisangabe "../mainheader.h") gesucht. Wenn die Datei dann immer noch nicht gefunden wird, wird nochmals eine Suche gestartet, welche an denselben Orten sucht, wie wenn die Datei mit grösser- und kleiner-Klammern angegeben worden wäre.

Findet der Preprozessor eine Datei nicht, so gibt er einen No such file or directory-Fehler aus.