STRCMP Merkt ders noch !?



  • Hallo liebes C/C++-Team !
    Ich hab hier alles durchsucht aber ich hab entweder n scheiß Problem oder bin einfach zu dumm(hoffe ersteres)

    Ich vergleiche 2 Char-Variablen mit STRCMP, doch selbst wenn die Chars nicht gleich sind gibt STRCMP mit 0 zurück, also ich weiss echt nimmer weiter vielleicht könnt ihr mir helfen !!
    hier mein code

    result = strcmp(dest,destsys);
    

    dest ist in dem Fall:" 16828682"
    destsys:" 16828684"

    Danke schon ma !



  • Hallo liebes C-Team !

    Sorry. Hier ist C++ . 😉



  • Ein vollständiges, compilierbares, minimales Beispielprogramm bitte.



  • Ich vergleiche 2 Char-Variablen mit STRCMP

    du meinst vermutlich strcmp. Jedenfalls kann man chars nicht mit strcmp vergleichen. das macht man mit '==' !



  • Helium schrieb:

    Jedenfalls kann man chars nicht mit strcmp vergleichen.

    wie bitte ?



  • k1ro schrieb:

    Helium schrieb:

    Jedenfalls kann man chars nicht mit strcmp vergleichen.

    wie bitte ?

    Also mein Compiler sagt dann immer:
    error: invalid conversion from `char' to `const char*'

    Deiner kann das? Finde ich cool, welchen verwendest du?



  • warum seid ihr so fies?

    hast du schonmal in die doku geschaut?
    strcmp gibt da bissel komische werte zurück



  • Shade Of Mine schrieb:

    Also mein Compiler sagt dann immer:
    error: invalid conversion from `char' to `const char*'

    Deiner kann das? Finde ich cool, welchen verwendest du?

    hä? *verwirrt_bin*

    gehts hier um Zeichenketten oder um einzelne Zeichen o.O

    Achja, ich verwende natürlich den HyperMegaUltraCompiler 2.0,
    der kann alles

    wenn du ihn auch willst, schaumal auf htto://hypermegaultracompiler.sourceforge.org



  • k1ro schrieb:

    gehts hier um Zeichenketten oder um einzelne Zeichen o.O

    Es geht darum, dass char != char*

    Helium hat versteckt darauf hingewiesen und ich habe mitgespielt.

    Es ist _sehr_ wichtig den Unterschied zwischen char und char* zu kennen - auch wenn viele jetzt sagen: ist doch eh klar. Dann drückt euch auch ordentlich aus - schließlich sind das 2 Datentypen die grundverschieden sind.



  • Mir wär lieber der OP würd sich nochmal melden und ein paar Details nachliefern...



  • Shade Of Mine schrieb:

    Es geht darum, dass char != char*

    Helium hat versteckt darauf hingewiesen und ich habe mitgespielt.

    Es ist _sehr_ wichtig den Unterschied zwischen char und char* zu kennen - auch wenn viele jetzt sagen: ist doch eh klar. Dann drückt euch auch ordentlich aus - schließlich sind das 2 Datentypen die grundverschieden sind.

    achso, ok
    naja, *ausrede such* es ist halt auch schon spät am abend 😉

    Najo, genauer Lesen machts,
    so denn, schönen Abend noch



  • Maxi schrieb:

    warum seid ihr so fies?

    hast du schonmal in die doku geschaut?
    strcmp gibt da bissel komische werte zurück

    Hier ein einfaches Beispiel:

    #include <string.h>
    #include <stdio.h>
    
    int main(void)
    {
    	char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
    	int ptr;
    
    	ptr = strcmp(buf2, buf1);
    	if (ptr > 0)
          printf("buffer 2 is greater than buffer 1\n");
       else
          printf("buffer 2 is less than buffer 1\n");
    
       ptr = strcmp(buf2, buf3);
       if (ptr > 0)
          printf("buffer 2 is greater than buffer 3\n");
       else
          printf("buffer 2 is less than buffer 3\n");
    
       return 0;
    }
    

Log in to reply