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.