Länge eines char aus einer Funktion ausgeben



  • Hallo warum bekomme ich hier immer 4 ausgeben und nicht 2 😞
    Wenn ich z.b. im Hauptprogramm schreibe:

    char var[] ="ab";
    int len;

    len = sizeof(var);

    cout << len;

    Da wird meine auch eine 2 Ausgeben.

    #include <iostream>
    
    void func ( char [] );
    
    int main()
    
    {
    
    func ( "ab");
    
        system("PAUSE");
    
    }
    
    void func ( char var[]  )
    {
    int len;
    
    len = sizeof(var);
    
    cout << len;
    
    }
    


  • Weil der Parameter char[] zu einem char pointer verkümmert und char pointer auf deinem System eine Größe von 4 Byte haben. Was du suchst ist die Funktion strlen, was ich dir allerdings empfehle ist std::string statt C-style strings zu benutzen.


Anmelden zum Antworten