Effiziente Überprüfung von Präfixen und Konvertierung von Teilzeichenfolgen in Ganzzahlen in C
Die Notwendigkeit, zu prüfen, ob eine Zeichenfolge mit einem bestimmten Präfix beginnt, und eine Teilzeichenfolge zu konvertieren zu einer Ganzzahl ist eine häufige Aufgabe in der Programmierung. In Python kann dies einfach mit den Funktionen „startswith()“ und „int()“ erreicht werden. Die Implementierung einer ähnlichen Funktionalität in C erfordert jedoch einen anderen Ansatz.
Um zu überprüfen, ob ein C std::string mit einer bestimmten Zeichenfolge beginnt, können Sie die Funktion rfind() verwenden, wobei der Positionsparameter pos auf Null gesetzt ist. Dadurch wird die Suche so eingeschränkt, dass sie nur mit dem Präfix am Anfang der Zeichenfolge oder früher übereinstimmt. Um beispielsweise zu prüfen, ob argv[1] mit „--foo=" beginnt:
if (argv[1].rfind("--foo=", 0) == 0) { // argv[1] starts with "--foo=" }
Um einen Teilstring in eine Ganzzahl umzuwandeln, können Sie die Funktion stoi() verwenden. Da rfind() jedoch eine Position zurückgibt, müssen Sie zuerst die Teilzeichenfolge extrahieren. Hier ist ein aktualisierter Python-Pseudocode:
if argv[1].startswith('--foo='): foo_value = int(argv[1]['--foo='.len():])
In C würde dies bedeuten:
size_t pos = argv[1].rfind("--foo=", 0); if (pos != std::string::npos) { foo_value = std::stoi(argv[1].substr(pos + 6)); }
Dieser Ansatz ist effizient und unkompliziert und erfordert keine externen Bibliotheken oder zusätzliche Komplexität. Es bietet eine prägnante und effektive Lösung sowohl für die Präfixprüfung als auch für die Konvertierung von Teilzeichenfolgen in C.
Das obige ist der detaillierte Inhalt vonWie kann man Präfixe effizient überprüfen und Teilzeichenfolgen in Ganzzahlen in C konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!