Heim > Backend-Entwicklung > C++ > Hauptteil

Wie kann std::string\'s rfind verwendet werden, um nach einem Präfix zu suchen und einen Teilstring in eine Ganzzahl umzuwandeln?

Linda Hamilton
Freigeben: 2024-11-01 19:41:30
Original
575 Leute haben es durchsucht

How can std::string's rfind be used to check for a prefix and convert a substring to an integer?

Verwenden der rfind-Überladungen von std::string, um nach Präfixen zu suchen und Teilstring in Int zu konvertieren

Um festzustellen, ob ein C std::string beginnt Wenn Sie mit einer bestimmten Zeichenfolge arbeiten und eine Teilzeichenfolge in eine Ganzzahl konvertieren, können Sie die überladene rfind-Funktion nutzen.

Auf Zeichenfolgenpräfix prüfen

Verwenden Sie die rfind-Überladung, die eine Suche akzeptiert Positionsparameter (pos). Wenn Sie diesen Parameter auf Null setzen, wird die Suche auf den Anfang der Zeichenfolge beschränkt:

<code class="cpp">std::string s = "tititoto";
if (s.rfind("titi", 0) == 0) {
  // The string s starts with the "titi" prefix.
}</code>
Nach dem Login kopieren

Teilzeichenfolge in Int konvertieren

Um eine Teilzeichenfolge nach einem bekannten Präfix zu extrahieren und zu konvertieren Um es in eine Ganzzahl umzuwandeln, können Sie eine Kombination aus rfind und substr verwenden:

<code class="cpp">std::string arg = "--foo=98";
size_t pos = arg.rfind("--foo=");
if (pos != std::string::npos) {
  std::string fooValue = arg.substr(pos + len("--foo="));
  int value = std::stoi(fooValue);
}</code>
Nach dem Login kopieren

Wenn arg in diesem Beispiel „--foo=98“ ist, wird dem Variablenwert der Ganzzahlwert 98 zugewiesen.

STL-Vorteil

Dieser Ansatz vermeidet die Notwendigkeit externer Bibliotheken wie Boost. Es nutzt die von der STL bereitgestellten Standard-String-Manipulationen, die einfach zu implementieren und effizient sind.

C 20-Vereinfachung

In C 20 und höher ist der std:: Die Klassen „string“ und „std::string_view“ führen die Methode „starts_with“ ein, die die Suche nach einem Präfix noch einfacher macht:

<code class="cpp">std::string s = "tititoto";
if (s.starts_with("titi")) {
  // The string s starts with the "titi" prefix.
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann std::string\'s rfind verwendet werden, um nach einem Präfix zu suchen und einen Teilstring in eine Ganzzahl umzuwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!