Regular Expressions in C (Windows)

zwergzwerg

Mitglied
Hallo!

Ich will in C mit Regular Expressions arbeiten. Habe mich ein bisschen im Internet schlau gemacht und im Onlinebuch "C von A bis Z" gelesen, dass es den Header <regex.h> unter Windows nicht gibt.

Welche Möglichkeit gibt es jetzt wenn man nur unter Windows Regular Expression in C verwenden will, ohne aber die ganzen match-Funktionen selber ausprogrammieren zu müssen?

Ich programmiere mit "Visual Studio 6.0".
 
Zuletzt bearbeitet:
Danke für den Tipp.

Hab mir das jetzt angeschaut und ausprobiert, bekomme es aber trotzdem nicht zum Laufen.

Habe die Datei gnu_regex.exe unter http://people.delphiforums.com/gjc/gnu_regex.html heruntergeladen. Auf der Seite wird erklärt wie man die dll, .h-Datei usw. zu dem Projekt hinzufügt mit dem Microsoft Developer Studio Standard Edition version 4.0.

Ich benutzer aber Microsoft Visual Studio 6.0. Wo muss ich die Dateien hinkopieren bzw. einbinden, damit sie erkannt werden? Wo gehört die Datei gnu_regex.def hin?
 
Die Anweisungen auf die du dich da beziehst brauchst du nur zu befolgen wenn du die Bibliothek selbst nochmal neu kompilieren möchtest. Das ist aber nicht notwendig.

Was du brauchst ist die Datei regex.h, die gnu_regex.dll und die gnu_regex.lib Dateien.

Der Einfachheit halber kannst du die in dein Projektverzeichnis kopieren (die DLL kannst du auch ins Systemverzeichnis kopieren damit es von allen Programmen genutzt werden kann).

Die Header Datei mußt du dann am besten so
Code:
extern "C" {
  #include "regex.h"
}
einbinden.

Dann mußte ich zusätzlich (VS 2003) noch das Makro __STDC__ definieren. Das kannst du z.B. in den Projekteigenschaften als zusätzliche Kommandozeilenoption beim C/C++ Kompiler hinzufügen:
Code:
/D __STDC__

Die .lib Datei fügst du schlußendlich bei den zusätzlichen Abhängigkeiten für den Linker unter den Projekteigenschaften hinzu.

(ich hab kein VS 6, kann es also nicht direkt kontrollieren, aber das sind soweit alle notwendigen Schritte)

Gruß
 
Zurück