Boost Regex

Jacal

Mitglied
Hallo,
ich habe Boost auf meinem PC installiert. Nun wollte ich es anhand des Beispspielprogrammes aus dem Buch C++ von A bis Z testen (mit Visual C++ 2008 Express Edition).

Das Programm:
C++:
#include <iostream>
#include <boost/regex.hpp>

using namespace std;

bool check_email (string s)
{
	// Gültige E-Mailadresse? - trifft 99% aller Adressen
	boost::regex ex (
		"[\\w-]+(?:\\.[\\w-]+)*@(?:[\\w-\\.)+[a-zA-Z]{2,7}"
		);

	return regex_match (s, ex);
}

int main ()
{
	cout	<< "Bitte geben sie ihre E-Mail Adresse ein: ";

	string adr;
	cin >> adr;

	if (check_email(adr))
		cout	<< "Die Adresse ist korrekt.\n";
	else
		cout	<< "Sie haben eine fehlerhafte E-Mail Adresse eingegeben!\n";

	return 0;
}

Allerdings stürzt das Programm immer beim Ausführen der Funktion check_email beim Anlegen der Regex-Klasse ab. Mittels Debugger habe ich herausgefunden, dass der eigentliche Fehler in der Datei basic_regex.hpp ausgelöst wird, undzwar in Zeile 228.

Ist etwas an dem Programm falsch (was komisch wäre, da es so auch in dem besagten Buch steht)?

Beste Grüße,
Jacal




----------------------
Entschuldigun ... ich bin das Programm gerade nochmal durchgegangen und habe einen Tippfehler von mir bekerkt (peinlich).

So stimmt es:
C++:
char *chr ="[\\w-]+(?:\\.[\\w-]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7}";
	boost::regex ex (
		chr
		);
 
Zuletzt bearbeitet:
Ich hab mit Boost zwar noch keine Erfahrung ,aber immer wenn ein Fehler in diversen Libarrys bei mir aufkam (zB winPCap) lag es daran ,dass ich den Linker nicht die richtigen Zusatzbefehle gegeben hab (bei WinPCap WPCAP).
Schau doch mal danach ;)
 
Hi.
Ich hab mit Boost zwar noch keine Erfahrung ,aber immer wenn ein Fehler in diversen Libarrys bei mir aufkam (zB winPCap) lag es daran ,dass ich den Linker nicht die richtigen Zusatzbefehle gegeben hab (bei WinPCap WPCAP).
Dann tritt allerdings ein Fehler beim Linken auf, und nicht erst zur Laufzeit.

Außerdem hat Jacal den Fehler längst erkannt und berichtigt.

@Jacal: bitte setz das Thema auf erledigt. Danke.

Gruß
 
Zurück