>> Sprecher 1: Lassen Sie uns ein Programm schreiben, dass fragt den Benutzer nach dem Namen und
Häuser von drei Studenten.
Aber nicht nur ausdrucken, ihre Namen und Häuser auf den Bildschirm, lassen Sie uns
statt auf der Festplatte speichern diese Informationen.
Mit anderen Worten, erstellen wir, sagen wir, eine CSV Datei für comma separated values,
das ist eigentlich nur eine Textdatei, die Programme wie Excel oder Numbers
öffnen, und effektiv sparen diejenigen, Namen und Häuser dauerhaft, so dass
können wir sie später zu bewerten.
>> Um dies zu tun, wollen wir zunächst einen Blick auf einige Standardcode, die ich habe
begann mit bereits.
Zunächst, dass die unter den Überschriften Hinweis bis oben ist heute Standard lib.h die
passiert, sind einige Funktionen bezogen haben I / O-, Datei-und Ausgabedatei.
Beachten Sie, dass ich auch erklärt habe eine Konstante genannt STUDENTEN -
in Großbuchstaben -, deren Wert ist hart wie drei codiert.
Beachten Sie, dass jetzt innerhalb meiner Haupt Programm, ich bin erklärt eine Reihe von
Größe drei mit, dass Konstante bezeichnet STUDENTEN jeweils deren Mitglieder ist der
geben Studenten.
>> Daran erinnern, dass ein Student jetzt werden wir definieren als mit einen Namen und ein Haus sowohl von
die Zeichenfolgen als pro hierfür sind Erklärung beauftragt, Punkt h.
Nun zurück in structs1.c, bemerken, dass ich haben eine for-Schleife hier, das wird
laufen von Null bis drei ist.
Es wird mich für einen Schüler aufgefordert, Namen und ein Studentenhaus
wieder und wieder und wieder.
>> Dann am Boden dieses Programms, feststellen, dass ich eine andere for-Schleife
das wird das i-te befreien Schüler Namen und das Haus des i-ten Schüler in eine
ähnlich aufgebaut Schleife.
Um sicher zu sein, könnten wir diese Loops kombinieren in nur eine, aber ich wollte
haben einige deutliche Codesegmente wegen der Diskussion hier.
>> Jetzt in zwischen den für Schleifen, lassen tatsächlich haben andere, und das hier ist
Ziel im Leben ist, um tatsächlich alle sparen dieser Namen und Häuser, die sind
derzeit im RAM auf die Festplatte in der Form durch Komma getrennte Werte.
Um dies zu tun, werden wir nutzen drei neue Funktionen -
F offen, F printf und F in der Nähe, die eine Datei zu öffnen, in eine Datei drucken, und
Schließen einer Datei.
Wir können sie wie folgt verwenden.
>> Datei, in Großbuchstaben, die etwas von ist ein Kuriosum in C, wird FILE fopen
Zitat unquote und jetzt einen Namen für die Datei, sagen wir, students.CSV, aber ich konnte
nennen es die meisten etwas, Komma und jetzt bin ich gehen, um eine einzige w innen angeben
von Anführungszeichen.
W, wie Sie vielleicht schon erraten haben, bedeutet, dass fopen sollten diese Datei öffnen
genannt Students.CSV für das Schreiben so dass wir tatsächlich sparen einige
Inhalte zu.
>> Lassen nächsten Prüfung, ob die Datei nicht gleich null.
Denn wenn es ist, hat wahrscheinlich etwas falsch in die Falle gegangen wir
sollte nicht fortgesetzt werden, um zu versuchen nichts, um es zu drucken.
Aber wenn es nicht null ist, dann in der geschweiften Klammern werde ich laufen
von i gleich 0 auf bis zu STUDENTEN, und ich bin zu gehen
erhöhen i bei jeder Iteration.
Und innerhalb dieser Schleife, werde ich fprintf, um so in eine Datei drucken -
Insbesondere derjenige Ich habe bereits geöffnet -
ein String, wie dieses% s,% s sieht Backslash n der Nähe Zitat.
>> Und jetzt möchte ich zu jedem stecken diese Platzhalter die Istwerte
der Name eines Schülers und ein Haus mit dem Punktoperator.
Studenten Halterung i.name, Studenten Halterung i.house Nähe paren
Semikolon.
Jetzt darunter for-Schleife, ich bin einfach werde fclose der Datei in Ordnung zu rufen
letztlich schließen Sie die Datei.
>> Nun, wenn ich dieses Programm ausführen, soll ich nicht tatsächlich sehen, alles auf die
Bildschirm, aber ich hätte nach der Ausführung dieses Programm eine Datei namens
Students.CSV im gleichen Verzeichnis, die Ich den Befehl auszuführen, dass sollte
enthalten ein Komma getrennt Liste von Werten.
Lassen Sie uns einen Blick.
>> / Structs1 Schüler machen Strukturen ein. zu nennen, sagen wir, David,
er wird in Mather leben.
Name Student, sagen wir, Lauren, sie wird in Leverett leben.
Name Student, sagen wir, Rob, er wird in Kirkland zu leben.
Jetzt wieder, wie erwartet, aber es passiert nichts geschehen zu sein, aber lassen Sie mich
gehen Sie vor an der Eingabeaufforderung, und geben g students.CSV bearbeiten, in der Hoffnung, dass
die Datei tatsächlich existiert.
>> Gedit students.CSV ENTER, und in der Tat, feststellen, dass eine Datei, die rein
Text, Text, sondern durch Komma getrennt für jedes Feld der Tat existiert.
Und wenn wir mit, nicht die CS50 Gerät, sondern ein vertrauter Mac oder
PC, stellt sich heraus, dass wir in der Tat öffnen Sie diese CSV-Datei mit einem mehr
vertraut Programm wie Excel oder Numbers.