INTERLOCUTEUR 1: Écrivons un programme qui demande à l'utilisateur les noms et maisons de trois étudiants. Mais plutôt que de simplement imprimer leur noms et des maisons à l'écran, nous allons place sauf que l'information sur le disque. En d'autres termes, nous allons créer, par exemple, un fichier CSV fichier, pour comma separated values, qui est en fait juste un fichier texte des programmes tels que Excel ou Numbers peut ouvrir, et sauver ceux efficacement noms et les maisons de façon permanente et nous pouvons les examiner plus tard. Pour ce faire, nous allons jeter un oeil à la première un code passe-partout que je n'ai commencé avec déjà. Remarquez d'abord que parmi les têtes là-haut est maintenant lib.h norme qui arrive à avoir des fonctions liées de déposer E / S, l'entrée et le fichier de sortie. Remarquez que j'ai aussi déclaré une constante appelée ÉTUDIANTS - en majuscules - dont la valeur est codé en dur que trois. Remarquez maintenant que l'intérieur de mon principal programme, je vous déclarez un tableau de trois tailles en utilisant cette constante appelée ÉTUDIANTS dont chaque membre est de tapez étudiants. Rappelons maintenant que l'élève nous allons définir comme ayant un nom et une maison à la fois de qui sont des chaînes que par ce déclaration indique, point h. Maintenant de retour dans structs1.c, vous remarquerez que je ont une boucle ici que ça va effectuer une itération à partir de zéro jusqu'à trois. Il va me demander un étudiant de nom et la maison d'un étudiant encore et encore et encore. Ensuite, au bas de ce programme, remarquerez que j'ai une autre boucle cela va libérer de l'élève ième nom et la maison de l'étudiant i dans un construite de façon similaire boucle. Pour être sûr, nous pourrions combiner ces boucles en une seule, mais je voulais avoir des segments distincts de code pour les besoins du débat ici. Maintenant entre ceux pour les boucles, nous allons effectivement avoir un autre, et de celui-ci but dans la vie est de réellement sauver tous de ces noms et les maisons qui sont actuellement dans la RAM sur le disque sous la forme de comma separated values. Pour ce faire, nous allons utiliser trois nouvelles fonctions - F ouvert, F printf, et F proximité, qui ouvrir un fichier, imprimer dans un fichier, et fermer un fichier. Nous pouvons les utiliser de la manière suivante. FILE, en majuscules, qui est en quelque sorte une curiosité en C, fichier est fopen entre guillemets et maintenant un nom pour le déposer, par exemple, students.CSV, mais je ne pouvais appeler plus rien, virgule et maintenant je suis va spécifier un seul w intérieur de guillemets. W, comme vous pouvez l'avez déjà deviné, signifie que la fonction fopen devrait ouvrir ce fichier appelé Students.CSV pour écrire de manière que nous pouvons économiser de l' contenu à elle. Prochain chèque de laisser si le fichier n'est pas égal à zéro. Parce que si c'est le cas, quelque chose a probablement mal tourné dans ce cas, nous ne devrait pas procéder à essayer d'imprimer quoi que ce soit. Mais si ce n'est pas nulle, puis à l'intérieur de la accolades que je vais parcourir de i est égal à 0 sur place aux étudiants, et je vais incrément I à chaque itération. Et à l'intérieur de cette boucle, je vais fprintf manière à imprimer un fichier - spécifiquement l'une J'ai déjà ouvert - une chaîne qui ressemble à ceci% s,% s barre oblique inverse n fermant. Et maintenant, je veux brancher à chacun des ces espaces réservés aux valeurs réelles du nom de l'élève et une maison en utilisant l'opérateur point. Les élèves, les étudiants support i.name support i.house proches paren point-virgule. Maintenant dessous de cette boucle, je suis tout simplement vais appeler fclose de fichier pour à fermer en fin de compte le fichier. Maintenant, quand je lance ce programme, je ne devrais pas réellement voir quoi que ce soit sur le écran, mais je devrais avoir après l'exécution ce programme un fichier appelé Students.CSV dans le même répertoire que Je lance la commande en ce que devrait contenir un séparées par des virgules liste de valeurs. Jetons un coup d'oeil. De faire struct 1. / Structs1 étudiant nom, disons David, il vivra à Mather. Nom de l'étudiant, disons, Lauren, elle vivra dans Leverett. Nom de l'étudiant, disons, Rob, il vivra à Kirkland. Maintenant, encore une fois, comme prévu, rien ne s'affiche être arrivé, mais laissez-moi aller de l'avant à l'invite de commande et tapez g modifier students.CSV dans l'espoir que ce fichier existe bel et bien. Gedit students.CSV ENTER, et en effet, remarquer qu'un fichier contenant uniquement texte, mais le texte séparé par des virgules pour chaque domaine, il existe en effet. Et si nous utilisions, pas le CS50 appareil, mais un Mac plus familier ou PC, il s'avère que nous avons pu en effet ouvrir ce fichier CSV avec un plus programme familier comme Excel ou Numbers.