[ Foro de C ]

Utilizar "strlen()" en arrays bidimensionales y en estructuras.

14-Mar-2010 19:31
Daniel Luengo
2 Respuestas

Buenas. Puyes en varios ejercicios propuestos se necesita saber hasta donde está lleno un array bidimensional o en un array de estructura.

Un ejercicio en el que se necesita seria este:

•Un programa que permita guardar datos de "imágenes" (ficheros de ordenador que contengan fotografías o cualquier otro tipo de información gráfica). De cada imagen se debe guardar: nombre (texto), ancho en píxeles (por ejemplo 2000), alto en píxeles (por ejemplo, 3000), tamaño en Kb (por ejemplo 145,6). El programa debe ser capaz de almacenar hasta 700 imágenes (deberá avisar cuando su capacidad esté llena). Debe permitir las opciones: añadir una ficha nueva, ver todas las fichas (número y nombre de cada imagen), buscar la ficha que tenga un cierto nombre.


Donde para añadir una ficha nueva es necesario saber hasta donde esta lleno el array de estructura para saber donde guardarlo.

Como seria la sintaxis del "strlen()" en estos casos? O no se puede usar este método?

Muchas gracias.


15-Mar-2010 22:45
Daniel Luengo

Aclaro que ya se que existen métodos para saber hasta que posicion esta ocupada, pero lo que me gustaría saber es si la funcion "strlen()" se puede usar en estos casos, o si existe otra funcion similar.

gracias.


31-Mar-2010 20:13
Nacho Cabanes (+83)

"strlen" sólo se puede usar para una cadena de texto. De hecho, siendo estrictos, sólo para cadenas de texto creadas con las funciones de C (y, por tanto, que terminen en un carácter nulo).

Para saber cómo está de lleno un array bidimensional o un array de estructuras, la solución más simple y más habitual es simplemente llevar un contador, para saber hasta cuando puedes añadir datos y hasta donde debes avanzar con los "for" que recorran tus datos.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)