[C/C++] String Vergleich mit Groß&Kleinschreibung ?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Leon, 21. Mai 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. Mai 2009
    String Vergleich mit Groß&Kleinschreibung ?

    Suche eine Funktion, ähnlich wie strcmp(), mit der ich zwei Strings vergleichen kann und Groß und Kleinschreibung nicht unterschieden werden, also es kommt bei derSortierung dann z.B. sowas raus: Acvgh,auvbgd,Azdfd .....
    Hab es schon mit strcmpi() versucht, jedoch meckert der compiler da, dass es die Funktion nicht gibt, jedoch habe ich string.h eingebunden O_O
    Schonmal vielen Dank für eure Hilfe
     
  2. 21. Mai 2009
    AW: String Vergleich mit Groß&Kleinschreibung ?

    strcmp + toupper = win
     
  3. 21. Mai 2009
    AW: String Vergleich mit Groß&Kleinschreibung ?

    Stimmt nicht ganz, denn toupper/tolower gilt nur für einzelne Bytes, d.h. es muss ersmal eine
    Funktion für Strings geschrieben werden.
     
  4. 21. Mai 2009
    AW: String Vergleich mit Groß&Kleinschreibung ?

    Da ich weiß, dass alle Wörter wenn dann nur am Anfang einen Großbuchstaben besitzen, hab ich mit tolower einfach pufferstrings gebaut , die alle kleingeschrieben sind und diese dann verglichen.
    Hat super geklappt
     
  5. 21. Mai 2009
    AW: String Vergleich mit Groß&Kleinschreibung ?

    Somit erledigt.

    Achja, die Funktion heißt übrigens stricmp() nicht strcmpi(). Deswegen wirst du wohl einen Fehler erhalten haben.

    Code:
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
     const char *a = "abcd";
     const char *b = "ABCD";
     
     printf("strcmp(a,b): %d\n", strcmp(a, b));
     printf("stricmp(a,b): %d\n", stricmp(a, b));
     
     return 0;
    }
    
    Der Code kompiliert bei mir ohne Probleme. Aber wenn dus anders gelöst hast, gehts natürlich auch

    ~closed
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.