**char zu int an Funktion übergeben



  • Hallo,

    möchte gerne das **argv aus der main-Funktion an die echo-Funktionen übergeben. Diese haben es allerdings als int **argv als Parameter. Leider bekomme ich es nicht hin ohne dass der Compiler ein Typkonvertierungs-Warning ausspricht.

    #include <stdio.h>
    
    void echo1(int argc, int **argv);
    void echo2(int argc, int **argv);
    
    int main(int argc, char **argv)
    {
       echo1(argc, argv);
       echo2(argc, argv);
    
    }
    void echo1(int argc, int **argv)
    {
       int i;
    
       for(i = 1; i < argc; ++i)
          printf("%s%s", *++argv, (i < argc-1) ? " " : "");
       printf("\n");
    }
    void echo2(int argc, int **argv)
    {
       while(--argc > 0)
          printf("%s%s", *++argv, (argc > 1) ? " " : "");
    
       printf("\n");
    
    }
    

    Eigentlich müsste es doch mit dem Casten zu int funktionieren oder?

    Gruß



  • echo1(argc, (int**)argv);
    

    geht das nicht?
    🙂



  • Doch, funktioniert. Ich habe den Fehler gemacht (int) argv zu schreiben. Vielen Dank!!


Anmelden zum Antworten