strlen()
se utiliza para obtener la longitud de una matriz de caracteres/cadena.
sizeof()
se utiliza para obtener el tamaño real de cualquier tipo de datos en bytes.
Además, sizeof()
es una expresión en tiempo de compilación que le da el tamaño de un tipo o tipo de variable. No le importa el valor de la variable.
strlen() es una función que toma un puntero a un carácter y recorre la memoria de este carácter, buscando un carácter NULL. Cuenta el número de caracteres antes de encontrar el carácter NULL. En otras palabras, le da la longitud de una cadena terminada en NULL estilo C.
Los dos son casi diferentes. En C++, tampoco necesita mucho, strlen() es para cadenas estilo C, que debe reemplazarse por C++ - estilo std::strings
, mientras que la aplicación principal para sizeof()
en C es como argumento para funciones como malloc()
, memcpy()
o memset()
, todo lo cual no debe usar en C++ (use new, std::copy()
y std::fill()
o constructors
).
¿Por qué está etiquetado C++? –
eliminé la etiqueta – Prabhu