lima-city: Webhosting, Domains und Cloud
2 Pluspunkte 0 Minuspunkte

Wie kann ich alle exadezimalen Zeichen aus einem String extrahieren in C++?

#include <string.h>
#include <iostream>

using namespace std;
int
main ()
{
char str[] = "a1b2c3";
int check;

cout << "Hexadezimale Zeichen im String:" << endl;

for (int i = 0; i < strlen(str); i++)  {

  check = isdigit(str[i]) || (str[i] >= 65 && str[i] <= 70);

  if (check)
    cout << str[i];
}
}

Die Ausgabe ist aber

Hexadezimale Zeichen im String:
123
von  

1 Antwort

1 Pluspunkt 0 Minuspunkte

Die ASCII Zeichen 65 bis 70 sind nur die Großbuchstaben. Die Kleinbuchstaben gehen von 97 bis 102.

check = isdigit(str[i]) || ( (str[i] >= 65 && str[i] <= 70) || (str[i] >= 97&& str[i] <= 102) );

Noch einfacher wäre

check = isxdigit(str[i]);
von (486 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

12 Nutzer