Problem mit Array-Größe



  • Hallo!
    Ich geb euch erstmal einwenig Code:

    #include <iostream>
    #include "menu.h"
    #include "functions.h"
    #include "parafct.h"
    
    using namespace std;
    
    int main(int argc, char* argv[])
    {
     const int arraymax=64;
     int MatrNrArray[arraymax]={100,101,102,103,104,105};
     int NoteArray[arraymax]={3,2,5,8,10,20};
    
     for(int i=0; i<argc; i++)
     {
      getParameter(MatrNrArray, NoteArray, arraymax, argv[i]);
     }
    
     cout<<endl<<endl<<endl;
     showMenu(MatrNrArray, NoteArray, arraymax);
     return (0);
    }
    

    So ich starte mein Programm und übergebe ihm ein paar Argumente.
    So nun wird jedes Argument weitergeleitet an die Fkt getParameter.
    Mein Problem dabei ist nun folgendes:
    Wie krieg ich die jeweilige Größe der einzelnen Argumente raus?
    Ich habs schon mit

    sizeof(a)/sizeof(a[0])
    

    probiert aber da krieg ich nur immer den Wert 4 und das ist definitiv falsch!

    Bitte helft mir! Ist extrem dringend!

    CU Samptron



  • sizeof funktioniert bei größen, die schon zur compile-time feststehen.
    die strings aus argv sind aber alle nullterminiert.
    strlen(argv[0]) etc. sollte funktionieren.



  • wunderbar!
    Problem gelöst!


Anmelden zum Antworten