tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
154
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    fujitsufan fujitsufan ist offline Mitglied Silber
    Registriert seit
    Aug 2005
    Beiträge
    61
    Hallo,

    wie suche ich in einem char Array nach Sonderzeichen, die ich nicht mit der Tastatur abbilden kann.

    Normalerweise suche ich mit der Standardfunktion strstr(const char *str1, const char *str2);
    nach Zeichen oder Zeichenfolgen.

    Beispiel:
    char acString[256] = "Neue Zeichenkette #";
    if(strstr(acString, "#") == NULL)

    Jetzt muss ich aber nach Zeichen suchen, die nicht auf meiner Tastatur drauf sind.
    Ich weiß wie die Zeichen aussehen und ich weiß die Position in der Ascii- Tabelle (Dagger 134, Double-Dagger 135).



    mfG.
    fujitsufan
     

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    zum Suchen eines einzelnen Zeichens benutze die Funktion strchr(). Dann kannst du auch den ASCII-Code des gesuchten Zeichens als Parameter verwenden.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #3
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Erstelle die ein char(wahlweise auch int oder short) array, welches die größe der ASCII Tabelle hat.
    dieses Array füllst du initial mit Werten. z.B. kannst du sagen, das alle deine Sonderzeichen die du suchst den Wert 0 bekommen und der rest eine 1.

    Dann musst du nur noch eine Abfrage machen wie:

    PHP-Code:
    // eingegebenes zeichen ist char c
    // tabelle = {0,0,0,(wo halt sonderzeichen sind ne 0, sonst ne 1)....}
    if(!tabelle[c]) {
        
    // sonderzeichen
    } else {
        
    //kein sonderzeichen

    Ich find das ist eine sehr elegante und schnelle Lösung.

    So könnte man dann noch zusätzlich Zahlen,upper case,lowercase etc. in einem Aufwasch voneinander trennen.
    Geändert von Unicate (10.08.11 um 12:04 Uhr)
     
    /* no comment */

  4. #4
    fujitsufan fujitsufan ist offline Mitglied Silber
    Registriert seit
    Aug 2005
    Beiträge
    61
    Hallo,
    das funktioniert.
    Alles ganz einfach, wenn man´s weißt.
    Vielen Dank!
    fujitsufan
     

Ähnliche Themen

  1. Antworten: 11
    Letzter Beitrag: 22.05.11, 21:11
  2. Char von bestimmter Stelle im String suchen
    Von sra im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 16.01.08, 10:57
  3. Char Array nach char umwandeln
    Von ProgFreak im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 01.06.07, 02:00
  4. Sonderzeichen aus einem String suchen
    Von DrMueller im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 30.05.07, 16:58
  5. Sonderzeichen in String suchen
    Von LoMo im Forum PHP
    Antworten: 5
    Letzter Beitrag: 26.01.06, 12:02