Bonjour et bienvenue à nouveau.
Dans cette conférence, je veux parler de certaines des fonctions utilitaires
fournies par la bibliothèque standard c.
Et ceux-ci font exactement ce que vous penserait
juste quelques utilitaires, quelques fonctions générales génériques faire différentes choses.
Pour utiliser les fonctions utilitaires, ils sont généralement dans la bibliothèque standard. h.
Vous incluez donc ce fichier d'en-tête.
Certaines des fonctions auxquelles je vais pour ne décrire que des fonctions utiles.
L'un est la valeur absolue abs.
Renvoie l'absolu valeur d'un argument.
La valeur absolue est le convertir en positif.
Donc si vous passez en négatif ou ainsi de suite, il vous
renverra la valeur positive.
Il y a une fonction appelée exit.
Je l'ai un peu utilisé dans notre fonction principale.
Cela prendra un entier, généralement un valeur de retour et généralement un
nombre négatif signifie qu'il y a une erreur un nombre positif ou zéro signifie aucune erreur
ou un signifie aucune erreur.
Cela prendra fin le programme cependant.
Il sautera tout de suite.
Si vous êtes dans une fonction principale, vous effectuez un retour, vous
pouvez revenir de la fonction principale.
Mais la sortie est généralement pour fermer le programme.
Il y a aussi des constantes défini comme la réussite de la sortie et
l'échec de la sortie que vous pouvez utiliser si vous ne voulez pas utiliser de chiffres.
Autres routines connexes dans le bibliothèque à laquelle vous voudrez
peut-être vous référer sont importantes à la sortie.
Et vous verrez cela dans tout un programme bit c, en particulier abandonner.
Abandonner, c'est quand il y en a genre d'erreur comme si vous ne pouvez pas
malloc, vous pouvez appeler abort, et vous pouvez le régler pour signaler.
La bonne chose avec l'abandon est-ce qu'il générera un
fichier core en fonction du signal.
Le fichier Core peut être aidé à debug pour plus d'informations.
Mais quittez abandonner et atexit très fonctions utiles, généralement appelées lorsque vous rencontrez
une erreur fatale.
Il y a un environnement get fonction qui vous permettra de lire
les variables d'environnement.
Les variables d'environnement sont généralement associé à votre environnement.
C'est une variable que vous peut utiliser
c'est un peu comme une variable globale que vous pouvez utiliser n'importe où sur le système d'exploitation.
Donc, si c'est Linux, vous avez un variable d'environnement pour votre chemin.
Il y a des variables d'environnement dans fenêtres pour spécifier les chemins ou
l'emplacement des différents programmes ou simplement des variables globales génériques.
Vous pouvez définir une variable d'environnement et ensuite vous pouvez le lire en
utilisant cette fonction get environment.
Et il se lira en cela variable d'environnement et vous pouvez l'utiliser
dans votre programme.
Donc encore une fois, des choses comme tout chemin qui sont liés à votre
shell ou liés à votre environnement.
Obtenir l'environnement est très utile.
Il y a une fonction qsort.
Cela triera le tableau de données pointé par le tableau de pointeurs void.
Il y a donc un tableau qui pris comme premier paramètre et
il va le trier.
Il y aura n éléments dans le tableau, chaque taille mord dans la longueur.
Et le n et la taille sont de type taille t.
Donc, il y a quatre variables qui vont à cette fonction.
Mais le qsort est sympa parce que vous pouvez trier un tableau.
Le quatrième argument est un pointeur vers la fonction que vous souhaitez
utiliser pour le tri.
Cela peut donc devenir plus compliqué.
Mais cette fonction est très utile lorsque vous avez besoin de comparer
deux éléments dans un tableau.
Vous pouvez passer les pointeurs aux éléments avec lesquels
vous souhaitez comparer.
Nous avons une fonction aléatoire.
Nous l'utilisons dans l'un des nos défis rand.
Cela générera un nombre aléatoire.
Vous pouvez spécifier une graine si vous le souhaitez dans une
autre fonction ou il générera simplement un nombre aléatoire entre un valeur minimale de 3276 et valeur
minimale de zéro aléatoire, valeur maximale de 3276.
Ainsi, rand max est défini dans la bibliothèque standard. h.
Vous l'utiliserez souvent avec le sran fonction, qui fournit une graine.
Une graine peut fournir une certaine gamme.
Cela fera les chiffres peut-être plus aléatoire aussi.
Donc ça ensemence le nombre aléatoire générateur à un int non signé.
Le système est une fonction que vous pouvez invoke pour exécuter des appels système.
Je l'ai utilisé en classe pour faire une pause.
Mais tout ce que vous pouvez fuir console, comme changer de répertoire,
changer les autorisations si vous êtes sur Linux, en exécutant d'autres programmes, vous pouvez faire
tout cela via le système.
Et donc ce sera en fait exécutez une commande dans votre shell, que
ce soit l'invite dos ou vous utilisez un shell sous Linux.
Il exécutera cette commande.
Donc, par exemple, vous pourriez dire system make dir et il créera un répertoire de tout
ce que vous avez spécifié dans l'argument pour faire dir.
Tout est à l'intérieur double guillemets, il faut donc une chaîne.
Le système est également très, très utile.
La bibliothèque d'assert est utile pour le débogage.
Nous n'avons pas eu la chance de parler beaucoup à propos d'affirmer, mais
je voulais le mentionner brièvement.
C'est une bibliothèque qui s'affirme. h et c'est un pour aider au débogage.
Donc, affirmer, c'est dire que quelque chose est vrai.
Pour que vous puissiez mettre l'affirmation à l'intérieur votre code pour vous assurer que quelque chose
est vrai avant vous passez à la ligne de code suivante.
Il y a une macro d'affirmation qui vous allez utiliser et cela prend
un argument tel qu'une expression interne.
Si l'expression est évaluée à false, la macro assert écrit un message
d'erreur dans l'erreur standard stream et appelle la fonction d'abandon.
Donc, votre programmeur s'arrête.
Donc tu peux mettre quelque chose dans votre code qui dit
essentiellement quelque chose comme ça.
Vous pouvez dire que z est égal à x fois x moins x fois y.
Et puis vous pouvez affirmer que z est supérieur ou égal à zéro.
Si cela retourne faux, votre le programme va se terminer.
Sinon, il exécutera la prochaine ligne de code.
Alors c'est comme devenir vrai hypothèses tout au long de votre code.
Vous voulez vous assurer que certaines valeurs sont ce qu'elles sont avant
de passer à la suivante.
Il s'agit essentiellement de s'assurer que tu n'aimes pas diviser par zéro là tu n'avais
pas de valeur zéro quand vous avez fait cette multiplication.
Tu verras souvent s'affirmer à l'intérieur des programmes c pour le débogage.
D'autres fichiers d'en-tête utiles vous voudrez peut-être examiner: le temps. h.
Temps. h a toutes sortes de fonctions et macros pour prendre en
charge différentes dates et heures.
Habituellement, renvoyer une structure temporelle t.
Mais vous pouvez obtenir la date.
Vous pouvez avoir le temps.
Errno. h ou numéro d'erreur. h.
Ceci définit les macros pour rapport d'erreurs.
Souvent utilisé, encore une fois, pour meilleur débogage et
rapport d'erreurs spécifiques.
Donc, beaucoup de fonctions vous utiliser dans les bibliothèques standard.
S'ils échouent, ils peuvent renvoyer un numéro pour une erreur spécifique, et c'est plus important lorsque vous utilisez un
socket fonctionne d'autres choses car il peut y avoir
de nombreuses erreurs différentes.
Parfois, il est utile de savoir ce
qui se passe au lieu de simplement dire qu'il y a une erreur très utile de
dire qu'un type d'erreur spécifique est très utile.
Ainsi, vous pouvez obtenir des numéros d'erreur en l'utilisant avec pour
faciliter le débogage.
Lieu. h.
Il y a un tas de fonctions et
des macros dans cet en-tête pour mettre en forme différents devises et unités monétaires.
Signal. h.
Ceci est utile pour généralement pour la fin du programme générant
différents signaux.
Les signaux ne sont pas un sujet que nous couvrons dans beaucoup de
détails, mais cela peut être utile lorsque vous appelez abort en spécifiant signaux spécifiques pendant que le programme s'est écrasé ou
que le programme s'est terminé.
Et vous pouvez les utiliser si vous comprendre les signaux que vous pouvez également les
utiliser dans votre fichier principal.
Stdarg. h.
Cela définit différentes installations qui activer un nombre variable
d'arguments à transmettre à une fonction, varargs.
Nous utilisons vargs et printf, mais nous ne l'avons pas fait créer nos propres fonctions d'arg.
C'est un sujet plus avancé.
Mais ce sont des fichiers d'en-tête de base que vous pouvez trouver utile pour obtenir
les heures, les numéros d'erreur, etc.
Ce sont de bonnes fonctions utilitaires.
J'espère donc que cela a été utile.
Merci.