Hola y bienvenido de nuevo.
En esta conferencia, quiero hablar sobre algunas de las funciones de utilidad
que proporciona la biblioteca estándar c.
Y estos hacen exactamente lo que tu pensaría solo en
algunas utilidades, algunas funciones generales genéricas para hacer varias cosas diferentes.
Para utilizar las funciones de utilidad, normalmente están en lib estándar. h.
Así que incluye ese archivo de encabezado.
Algunas de las funciones a las que voy para describir funciones útiles.
Uno es el valor absoluto abs.
Devuelve el absoluto valor de un argumento.
El valor absoluto es convirtiéndolo en positivo.
Entonces, si pasas en negativo o así sucesivamente, le devolverá
el valor positivo.
Hay una función llamada salida.
He usado esto un poco en nuestra función principal.
Se necesitará un número entero, normalmente un valor de retorno y, por lo general,
un número negativo significa que hay un error un número positivo o cero significa que no hay error
o uno significa que no hay error.
Esto terminará aunque el programa.
Simplemente saltará de inmediato.
Si estás en una función principal, haces una devolución, puedes
regresar desde la función principal.
Pero la salida suele ser para cerrar el programa.
También hay algunas constantes definido como éxito de salida y
error de salida que puede utilizar si no quieres usar números.
Otras rutinas relacionadas en el biblioteca a la que
quizás desee hacer referencia son importantes al salir.
Y verás esto en bastante programa bit c, especialmente abortar.
Abortar es cuando hay algo tipo de error como si no puede malloc, puede
llamar a abortar, y puede configurarlo para que emita una señal.
Lo bueno de abortar es generará un archivo
central dependiendo de la señal.
Se puede ayudar al archivo principal a depurar para obtener más información.
Pero salir abortar y atexit muy funciones útiles, generalmente invocadas cuando tiene
un error fatal.
Hay un entorno de obtención función que le permitirá leer
variables de entorno.
Las variables de entorno suelen ser asociado con su entorno.
Son una variable que tu puede
usarlo como una especie de variable global que puede usar en cualquier parte del sistema operativo.
Entonces, si es Linux, tiene un variable de entorno para su ruta.
Hay variables de entorno en ventanas para especificar rutas o dónde se
encuentran los diferentes programas o simplemente variables globales genéricas.
Puede establecer una variable de entorno y luego puedes leerlo usando
esta función get environment.
Y leerá en eso variable de entorno y puede usarla
en su programa.
Así que de nuevo, cosas como el camino, cualquier cosa que están relacionados con su
shell o relacionados con su entorno.
Obtener el entorno es muy útil.
Hay una función qsort.
Esto ordenará la matriz de datos apuntado por la matriz de punteros void.
Entonces hay una matriz que es tomado como primer parámetro y
lo va a ordenar.
Habrá n elementos en el matriz, cada tamaño muerde la longitud.
Y la ny el tamaño son de tamaño de letra t.
Entonces hay cuatro variables que van a esta función.
Pero el qsort es bueno porque puede ordenar una matriz.
El cuarto argumento es un puntero a la función que
desea utilizar para ordenar.
Entonces puede volverse más complicado.
Pero esta función es muy útil cuando necesita comparar dos
elementos en una matriz.
Puedes pasar los punteros a los elementos con los
que desea comparar.
Tenemos una función aleatoria.
Usamos esto en uno de nuestros desafíos rand.
Esto generará un número aleatorio.
Puede especificar una semilla si lo desea en otra función
o simplemente generará un número aleatorio entre un valor mínimo de 3276, y valor
mínimo cero aleatorio, valor máximo 3276.
Entonces, rand max se define en lib estándar. h.
A menudo usarás esto con el sran función, que proporciona una semilla.
Una semilla puede proporcionar un cierto rango.
Hará los números quizás más aleatorio también.
Entonces siembra el número aleatorio generador a un int sin firmar.
El sistema es una función que puede invocar para ejecutar llamadas al sistema.
Lo usé en la clase para hacer una pausa.
Pero cualquier cosa que puedas huir del consola, como cambiar directorios,
cambiar permisos si estás en Linux, ejecutando otros programas, puedes hacer todo esto
a través del sistema.
Y entonces esto realmente ejecutar un comando en su shell, ya sea el
indicador de DOS o estás usando un shell en Linux.
Ejecutará ese comando.
Entonces, por ejemplo, podrías decir system make dir y creará un directorio de lo
que haya especificado en el argumento para hacer dir.
Todo está dentro del doble comillas, por lo que se necesita una cadena.
El sistema también es muy, muy útil.
La biblioteca de aserción es útil para depurar.
No tuvimos la oportunidad de hablar mucho sobre aserción,
pero quise mencionarlo brevemente.
Es una biblioteca que se afirma. h y es uno para ayudar con la depuración.
Así que afirmar es decir que algo es cierto.
Para que puedas poner aserción dentro su código para asegurarse de que algo sea cierto
antes que usted pasar a la siguiente línea de código.
Hay una macro de aserción que que va a utilizar y se necesita
un argumento como una expresión interna.
Si la expresión se evalúa como falso, la macro de aserción escribe un mensaje de
error en error estándar stream y llama a la función de aborto.
Entonces su programador terminará.
Entonces puedes poner algo en su código que básicamente
dice algo como esto.
Puedes decir que z es igual a x por x menos x por y.
Y luego puedes afirmar que z es mayor o igual a cero.
Si eso devuelve falso, su el programa va a salir.
De lo contrario, se ejecutará la siguiente línea de código.
Entonces es como hacer realidad suposiciones a lo largo de su código.
Quieres asegurarte de que ciertos valores son los que son antes
de pasar al siguiente.
Esto es esencialmente asegurarse de que no es como dividir por cero ahí
no tenías un valor cero cuando hiciste esta multiplicación.
A menudo verás afirmar en el interior de programas de c para la depuración.
Otros archivos de encabezado útiles que es posible que desee examinar: tiempo. h.
Hora. h tiene todo tipo de diferentes funciones y macros para
soportar diferentes fechas y horas.
Por lo general, devuelve una estructura de tiempo t.
Pero puedes conseguir la fecha.
Puedes conseguir el tiempo.
Errno. ho errornumber. h.
Esto define macros para notificación de errores.
Usado a menudo, de nuevo, para mejor depuración e informe
de errores específicos.
Así que muchas funciones que utilizar en bibliotecas estándar.
Si fallan, pueden devolver un número para un error específico, y es más importante cuando usa
algún socket funciona otras cosas porque podría haber
muchos errores diferentes.
A veces es útil saber lo que
está pasando en lugar de simplemente decir que hay un error no es Es muy útil decir
que un tipo específico de error es muy útil.
Para que pueda obtener números de error usando esto con para ayudar
con una mayor depuración.
Lugar. h.
Hay un montón de funciones y
macros en este encabezado para formatear diferentes monedas y unidades monetarias.
Señal. h.
Esto es útil para generalmente para la terminación del programa generando
diferentes señales.
Las señales no es un tema que cubramos con mucho detalle,
pero esto podría ser útil cuando llama a abortar especificando señales específicas mientras el programa fallaba
o el programa terminaba.
Y puedes usarlos si comprender las señales, también puede usarlas
en su archivo principal.
Stdarg. h.
Esto define diferentes instalaciones que permite pasar un número
variable de argumentos a una función, varargs.
Usamos vargs y printf, pero no lo hicimos crea nuestras propias funciones de arg.
Es un tema más avanzado.
Pero estos son archivos de encabezado básicos que puede resultarle útil para obtener
horas, números de error, etc.
Estas son buenas funciones de utilidad.
Así que espero que esto haya sido útil.
Gracias.