Ich möchte eine Zeichenkette mit Hilfe von Standard-C auf zulässige Zeichen überprüfen. Gibt es eine Standardfunktionalität? Soweit ich sehen kann, ist die GNU Lib C's regex lib nicht in VC++ verfügbar. Was schlagen Sie für die Implementierung einer solch einfachen Aufgabe vor. Ich möchte keine PCRE-Bibliotheksabhängigkeit einbeziehen. Ich würde eine einfachere Implementierung bevorzugen.
Antworten
Zu viele Anzeigen?
Nick Dandoulakis
Punkte
41402
Sie können prüfen, ob eine Zeichenkette ein beliebiges Zeichen aus einer gegebenen Menge von Zeichen enthält mit strcspn .
Editar: wie von Inshalla und maykeye vorgeschlagen, strspn, wcsspn könnte für Ihre Aufgabe besser geeignet sein.
Sie würden verwenden strspn
のように。
#define LEGAL_CHARS "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
if (strspn(str, LEGAL_CHARS) < strlen(str))
{
/* String is not legal */
Nicht registrierter Benutzer
Punkte
0