Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1723
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jacal Jacal ist offline Mitglied Bronze
    Registriert seit
    Aug 2008
    Beiträge
    31
    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:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
    #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:
    Code cpp:
    1
    2
    3
    4
    
    char *chr ="[\\w-]+(?:\\.[\\w-]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7}";
        boost::regex ex (
            chr
            );
    Geändert von Jacal (10.04.09 um 18:08 Uhr) Grund: Kein Fehler
     

  2. #2
    temporary-uuser Tutorials.de Gastzugang
    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
     

  3. #3
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Hi.
    Zitat Zitat von temporary-uuser Beitrag anzeigen
    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ß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 16.01.10, 12:50
  2. Boost::thread
    Von Ryu1991 im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 27.07.09, 21:38
  3. Hile bei Library Boost(regex)
    Von pamax im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 03.08.07, 12:11
  4. Antworten: 9
    Letzter Beitrag: 16.03.06, 16:33
  5. [AE] Speed Boost
    Von haebel im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 4
    Letzter Beitrag: 04.08.03, 09:35