Bonjour et bienvenue à nouveau.
Je veux continuer notre discussion sur certaines des fonctions de la
bibliothèque c standard.
Ce sont beaucoup de fonctions nous sommes déjà passés en classe, mais je
voulais vous le rappeler.
Il y a donc beaucoup de diverses fonctions de la
bibliothèque standard c que nous avons déjà abordés tout au long du
cours avec tous nos exemples et tous les trucs que nous avons appris.
On a beaucoup parlé fonctions de chaîne.
Et certains d'entre eux sont très faciles à utiliser et certains
que nous allons beaucoup utiliser.
Pour utiliser l'une de ces fonctions, vous devez inclure la chaîne
du fichier d'en-tête. h, tout est défini dans une chaîne. h.
Nous avons parlé de str cat.
Str cat concatène deux chaînes, deux paramètres qu'il faut,
deux pointeurs de caractères.
Et ça renverra un personnage pointeur concaténé à l'autre.
Donc en plaçant un caractère nul la fin de la chaîne
finale, la fonction renvoie s1.
Caractère Str ceci recherche un chaîne contenant un caractère.
Cela renverra un star du personnage aussi.
C'est un bon moyen de rechercher.
Nous en avons assez parlé un peu avec string cat.
La comparaison Str va pour comparer deux chaînes.
C'est la manière standard de procéder.
Il faut deux pointeurs et il renvoie un entier.
Nous en avons eu quelques exemples où fondamentalement, si vous retournez zéro,
les deux chaînes sont égales.
Si nous retournons plus ou moins que, si
vous devenez supérieur à zéro, cela signifie que s1 est généralement plus grande en taille alphabétique.
Donc, si vous passez une chaîne contenait a, puis la deuxième chaîne est b,
elle renverrait plus grand que zéro parce que ou il deviendrait inférieur à zéro parce que a
est inférieur à b.
Si vous avez passé en b comme premier paramètre et c est le deuxième
paramètre une sorte de chaîne commençant par b ou c, il
retournera supérieur à zéro.
Alors tu dois comprendre ces valeurs de retour.
C'est ce qui est important pour comparer.
Copie Str.
Voici comment vous pouvez attribuer une chaîne à une autre chaîne.
Rappelez-vous, les chaînes, les pointeurs et tableaux de caractères, vous
ne pouvez pas attribuer la chaîne directement à l'aide de l'opérateur d'affectation.
Pour les entiers et les flottants, vous pouvez utilisez simplement les opérateurs égaux.
Je ne peux pas faire ça avec des chaînes.
Vous devez donc utiliser str copy lorsque vous souhaitez affecter une chaîne à un pointeur, un pointeur de
caractère ou un tableau de caractères.
Vous pouvez initialiser un personnage tableau chaîne littérale constante
entre guillemets.
Mais après cela, après le initialisation si
vous souhaitez le modifier, vous devrez utiliser str copy.
Longueur Str.
Une autre fonction importante pour obtenir la longueur d'une chaîne.
Cela renvoie une taille t qui est la entier représentant la longueur.
Toutes ces fonctions de chaîne prendre des pointeurs ou des tableaux
de caractères comme paramètres.
Nous devons donc comprendre comment cela fonctionne aussi.
Autre fonction de chaîne strncat.
Rappelez-vous toutes les fonctions au lieu d'ajouter la fin sont un peu plus sûrs
car vous n'ont pas de débordements de tampon.
Donc, dans strncat, le troisième paramètre est ajouté et cela dira copier ou
concaténer autant de paramètres.
Habituellement, le troisième paramètre est va être la taille du premier paramètre
parce que vous ne voulez pas pour copier quelque chose de plus grand que cela.
Ces fonctions doivent être utilisées sur les
autres fonctions de chaîne car elles sont sans danger pour le débordement de tampon.
Strn comparer.
Encore une fois, vous allez comparer certains nombre de caractères pour s1 et s2.
Copie Strn, ici le troisième paramètre end serait probablement la longueur de chaîne
ou la taille de s1.
Parce que vous allez copier s2 et s1, mais vous ne voulez pas copier
plus d'octets que s1 ne peut contenir ou stocker.
Str char.
C'est ici que vous pouvez rechercher la chaîne de la dernière occurrence
d'un caractère.
Alors vous remarquez que ça a l'air très familier ou similaire au caractère str, il y
a un r supplémentaire ici.
Donc au lieu de renvoyer le premier occurrence, cela renverra la
dernière occurrence, mais vous avez utilisé de la même manière que l'autre.
Str str.
Cela va rechercher une chaîne.
C'est donc une fonction de recherche où vous essayez de trouver
essentiellement une sous-chaîne à l'intérieur d'une chaîne.
Encore une fois, en prenant deux pointeurs de caractères.
Strtok.
C'était la fonction importante où vous pouvez cela aide à analyser les données.
Strtok prend le délimiteur comme le deuxième paramètre et il
cherchera ce caractère de délimitation n'importe où à l'intérieur de la chaîne.
Si souvent vous utilisez quelque chose comme un espace ou un saut de ligne pour s2.
Il brisera la chaîne en un certain nombre de jetons différents.
Encore une fois, utilisez quand vous voulez pour analyser les données en général.
Chaque fois que vous devez appeler strtok plusieurs fois jusqu'à ce que
vous ayez null si vous êtes toujours à la recherche du jeton suivant que vous souhaitez trouver
dans une chaîne donnée.
Nous avons également eu des fonctions de caractère.
Toutes les fonctions du personnage sont définis dans ctype. h.
Le personnage fonctionne que nous utilisé si les fonctions sont vérifiant si un caractère
est ou non un alphanumérique ou s'il est vide ou s'il s'agit
d'un contrôle caractère un chiffre, il y avait un certain
nombre de fonctions différentes là-bas.
Alors souvenez-vous de ce ctype. h permet nous pour vérifier ces différents
personnages ce qu'ils sont réellement.
Nous avons également eu quelques fonctions de conversion dans ctype. h, principalement nos deux supérieurs.
Deux inférieurs prend un personnage et il le fera il
donnera l'équivalent minuscule de ce c.
Rappelez-vous que nous avons eu un défi où nous avons converti les minuscules en majuscules.
Dans ce défi, nous avons en fait ajouté à notre table ASCII, mais nous
aurions pu appeler deux supérieurs sur le caractère.
Nous aurions pu en installer deux autour du caractère tant
que nous avons inclus ctype. h et qui convertirait une minuscule à une majuscule.
Nous avons eu beaucoup d'E / S fonctions, entrée et sortie.
Nous nous sommes concentrés sur la lecture et l'écriture de fichiers,
mais nous lisons également les entrées du clavier, et nous avons produit données à la console ou à l'écran.
Donc, pour utiliser les E / S les plus courantes fonctions, c'est tout
dans le standardio. h fichier d'en-tête.
Ce fichier contient des déclarations pour le différentes fonctions IO
ainsi que des définitions de constantes, comme fin de fichier, norme nulle dans la sortie
standard et erreur standard.
Ce sont toutes des valeurs constantes.
Il y a aussi une constante pour le fichier de structure de fichier.
Fclose est une fonction que nous utilisé pour fermer nos flux.
Il ferme le fichier identifié par un pointeur de fichier.
Et il renvoie zéro si c'est fermer un succès, sinon eof.
Feof, c'est une fonction que nous n'avons pas utilisez explicitement mais cela vérifiera si vous êtes à la
fin ou non du fichier au lieu de comparer à une constante,
vous pouvez faire un feof.
Fflush.
C'est une fonction qui va vider toutes les données du tampon interne.
Parfois, vous devez le faire quand vous voulez recommencer, mais vous vous débarrassez simplement
de quoi que ce soit à l'intérieur d'un tampon.
Nous avons également fgetc.
C'est la lecture en individuel caractères, prend un pointeur de fichier.
Nous avons une position fget.
C'est une partie des fonctions de position.
Il obtient la position actuelle du fichier pour le fichier
associé au pointeur de fichier et le stocke dans un type de position f, qui est défini
dans la norme io. h aussi.
Nous avions nos fgets.
C'était la lecture en chaînes.
Très joli, il lit les personnages à partir du fichier indiqué, mais
en nombre de caractères.
Fopen ouvrira un fichier dans un mode spécifique: lire, écrire ou ajouter
à l'aide d'un pointeur de fichier.
Fprintf écrira les données et les formatera sortie, et c'est similaire à la fonction printf,
il prendra le arguments spécifiés par le pointeur, puis utilisez
des données formatées pour écrire.
Ainsi, vous pouvez écrire des entiers, des doubles en utilisant des spécificateurs de format, puis des
variables que vous souhaitez écrire.
Nous avons également eu fputc, qui écrire des caractères dans un fichier.
Fputs écrira une chaîne dans un fichier.
Il faut un tampon et un fichier pointez ce que vous voulez écrire et
le fichier dans lequel vous voulez écrire.
Fscanf lira les données d'un fichier.
Il saisira l'entrée, et il utilisera le même type de format
que scanf prendra spécificateurs de format et variables.
Mais c'est bien que tu veuilles lire des données séparées par un espace.
Vous pouvez utiliser fscanf et vous pouvez spécifier le type donc lisez-le
directement en ints, doubles, types de données spécifiques.
Fseek va déplacer la position de l'endroit où vous pointez dans un fichier.
Donc, vous n'êtes pas obligé de commencer par début ou fin d'un fichier.
Vous pouvez aller directement à au milieu du fichier.
Une fois que vous avez trouvé cette position, votre La prochaine lecture ou écriture
utilisera cette position pour écrire ou lire.
La position Fset est similaire à fseek.
Il définit la position actuelle du
fichier dans le fichier associé au fichier pointeur sur la valeur pointé par la position f, fpos.
Nous avons également eu ftell.
Ftell va revenir comment de nombreux octets depuis le début, vous
êtes basé sur le pointeur de fichier.
C'est donc le relatif hors site dans octets de la position actuelle,
pas toujours du début, mais la position actuelle.
Nous utilisons le ftell dans l'un de nos défis de lire un fichier à l'envers.
Printf.
Nous l'utilisons probablement plus que toute autre fonction.
Cela montrait sortie à l'écran.
Il utilise des spécificateurs de format et un nombre variable
d'arguments séparés par des virgules.
Printf est très utile pour le débogage et afficher la sortie, ce que vous faites
un peu à l'intérieur d'un programme c.
Supprimer.
Supprimer est une fonction où vous pouvez supprimer un fichier.
Cela prend un nom de fichier.
Le pointeur de fichier doit être fermé.
Vous ne pouvez pas l'ouvrir.
Renommer renomme un fichier en l'autre fichier doit également être fermé, le fichier
ne peut pas être ouvert.
Scanf lira l'entrée de généralement par défaut à partir du clavier.
Vous pouvez le changer pour lire l'entrée à partir d'autres flux si vous le souhaitez.
Nous avions également des fonctions de conversion qui nous avons discuté tout au long du cours.
La plupart de ces fonctions sont dans le lib standard. h fichier, fichier d'en-tête.
Nous avions la fonction atof.
Il s'agit de convertir une chaîne en un float, et vous le passez dans une chaîne.
Nous avons des fonctions atoi.
Cette conversion d'un chaîne en un entier.
Atol convertit une chaîne en un long, et vous passez dans la chaîne et
elle renvoie soit le retour méthode vers laquelle vous vous convertissez.
Celles-ci sont très utiles.
Vous les utilisez souvent pour convertir chaînes à une sorte de type de nombre.
Atoll le convertit en un long long int.
Mais assurez-vous de regarder le fichier d'en-tête lib standard pour plus
de fonctions de conversion.
Nous avions nos fonctions de mémoire, notre fonctions d'allocation de mémoire dynamique.
Ce sont vraiment importants.
L'allocation de mémoire dynamique est importante parce que c'est beaucoup plus efficace.
Vous n'utilisez que le mémoire dont vous avez besoin.
Vous ne créez pas de données statiques.
Cela permet à votre programme pour être beaucoup plus flexible.
Toutes ces fonctions sont inclus dans la bibliothèque standard. h.
Nous avons parlé de calloc.
Calloc est une excellente fonction où vous pouvez allouer une certaine taille
et qui sera multipliée par n.
Ainsi, vous pouvez spécifier le type de données ainsi et cela le multipliera.
La bonne chose à propos de calloc, il initialise vos données.
C'est donc vraiment préféré au malloc.
Nous avons notre fonction gratuite ce qui supprimera la mémoire.
Tout ce souvenir va à créer sur le tas.
Donc nous serons beaucoup dans les parages plus longtemps, mais c'est à vous en tant
que programmeur de gérer cette mémoire.
Vous voulez toujours libérer votre mémoire une fois que vous avez
fini de l'utiliser car la mémoire est rare ressource dans d'autres programmes et nous voulons
utiliser cette mémoire.
Alors appelez toujours gratuitement après vous faites un calloc ou un malloc.
Malloc est un plus simple version de la création de mémoire.
Ce n'est pas en fait initialisez toutes les données.
Il prend juste la taille comme paramètre.
Il renvoie une étoile vide.
Donc tu as toujours besoin de le lancer tout comme avec calloc, quel que soit le
type de mémoire vers lequel vous pointez.
Si vous pointez vers int ou float, vous devez lancer ça.
Nous avons également realloc.
Realloc est génial parce que vous pouvez ajouter réellement à la mémoire existante.
Et ainsi de cette façon votre la mémoire peut être dynamique.
Vous pouvez l'agrandir si vous souhaitez stocker plus de données.
Realloc prend un pointeur dans la taille.
Il va garder toutes les données qui le souvenir précédent indiquait.
Il allouera une nouvelle mémoire mais il le conservera pour que vous
puissiez ajouter de la mémoire existante.
Très, très utile.
En créant dynamiquement de la mémoire, va vraiment être utile dans tous vos programmes surtout parce
que les pointeurs sont très, très importants, ils sont
beaucoup plus efficaces.
Mais assurez-vous de tout comprendre ces fichiers d'en-tête que nous utilisons tout au
long du cours.
Ce sont les principaux qui sont très, très importants.
Nous en parlerons de nouveaux dans le deux prochaines conférences dont nous n'avons pas eu
l'occasion de discuter autant que j'aimais.
Mais ce sont quelques-uns les plus importants aussi.
Merci.