Zweidimensionaler Array und strcmp()



  • char filelist[700][50]; 
    if(strcmp(filelist[i][0],"d") == 0)// Leerlauf
    {
    printf("/");
    }
    

    Diesen Code kann ich nicht kompilieren, Fehler:
    "passing argument 1 of 'strcmp' makes pointer from integer without a cast"

    Das dies ein Noob-Fehler ist weiß ich schon, aber ich bekomm einfach nicht raus wies geht, kann mir jemand helfen?



  • strcmp(filelist[i],"d")
    

    müsste funzen



  • Ne, geht nicht.
    Das:

    if(strncmp(filelist[4],"|/", 2) == 0){}
    

    geht genauso wenig wie:

    if(strncmp(filelist[4],"|/", 2)){}
    

    In dieser Tabelle steht zB:
    | / t e s t
    | / n o c h e i n e r
    | e t w a s a n d e r e s

    Jetzt will ich halt testen ob an zweiter stelle ein / ist oder nicht



  • steffven schrieb:

    Jetzt will ich halt testen ob an zweiter stelle ein / ist oder nicht

    strncmp(filelist[4],"|/", 2) == 0 müsste gehen. sicher das an erster stelle das '|' zeichen steht ?

    wennze das drin hast:

    | / t e s t

    kein wunder wenns nicht geht, da ist ein leerzeichen zwischen.

    ob im string i an der zweiten stelle der slash steht, kannste auch so checken:

    if ( strlen( filelist[i] ) > 1 )
    {
        if( filelist[i][1] == '/' )
        {
    
        }
    }
    


  • if( filelist[i][1] == '/' )
        {
    
        }
    

    Genau danach hab ich gesucht, ich hatte den Text schon selber allerdings mit falschen Zeichen:

    if( filelist[i][1] == "/" )
        {
    
        }
    

    Dann kam die Fehlermeldung beim kompilieren.
    Danke für die Hilfe!


Anmelden zum Antworten