Es gibt eine Reihe von Funktionen der C-Standardbibliothek, die Ihnen dabei helfen können.
Schauen Sie sich zunächst die Funktion der C-Standardbibliothek an strtok . Damit können Sie Teile einer C-Zeichenkette abrufen, die durch bestimmte Begrenzungszeichen getrennt sind. Beispielsweise können Sie mit dem Trennzeichen / das Protokoll, die Domäne und dann den Dateipfad abrufen. Sie können die Domäne mit dem Begrenzungszeichen . tokenisieren, um die Subdomäne(n), die Domäne zweiter Ebene und die Domäne oberster Ebene zu erhalten. Etc.
Es ist nicht annähernd so leistungsfähig wie ein Parser für reguläre Ausdrücke, was Sie eigentlich für das Parsen von URLs brauchen würden, aber es funktioniert mit C-Strings, ist Teil der C-Standardbibliothek und kann wahrscheinlich in Ihrer Aufgabe verwendet werden.
Andere Funktionen der C-Standardbibliothek, die hilfreich sein können:
- strstr() Extrahiert Teilstrings genau wie std::string::substr()
- strspn(), strchr() und strpbrk() Suche nach einem oder mehreren Zeichen in einer Zeichenkette, ähnlich wie bei std::string::find_first_of(), usw.
Bearbeiten: Eine Erinnerung daran, dass die korrekte Art, diese Funktionen in C++ zu verwenden, darin besteht, die <cstring>
und verwenden sie im std:: Namensraum, z.B. std::strtok().