SPEAKER 1: Lad os skrive et program, beder brugeren om navne og huse af tre studerende. Men snarere end blot udskrive deres navne og huse til skærmen, lad os i stedet gemmer informationen på disken. Med andre ord, lad os skabe, siger en CSV fil, kommaseparerede værdier der er faktisk bare en tekstfil, programmer som Excel eller Numbers kan åbne, og effektivt redde dem navne og huse permanent, således at vi kan gennemgå dem senere. For at gøre det, så lad os først tage et kig på nogle standardtekst kode, som jeg har begyndte med allerede. Bemærk først, at blandt de overskrifter up toppen er nu standard lib.h som tilfældigvis har nogle funktioner i forbindelse til fil I / O, fil input og output. Bemærk, at jeg også har erklæret en konstant kaldet studerende - i alle caps - hvis værdi er hårdt kodet som tre. Bemærk nu, at inde i mit hoved program, jeg erklære en vifte af str. tre ved hjælp af denne konstant kaldet STUDERENDE hver, hvis medlemmer er skriv studerende. Husk nu, at en elev vil vi definere som har et navn og et hus både der er strenge Pr. denne erklæring instruerer, prik h. Nu tilbage i structs1.c, bemærke, at jeg har en for-løkke her, der kommer til gentage fra nul op til tre. Det kommer til at bede mig om en elevs navn og en studerende hus igen og igen og igen. Så i bunden af ​​dette program, bemærke, at jeg har en anden for-løkke der kommer til at befri den i'te studerendes navn og den i'te studerendes hus i en tilsvarende konstrueret sløjfe. For at være sikker på, kunne vi kombinere disse sløjfer ind i bare én, men jeg ønskede at har nogle bestemte segmenter af kode af hensyn til diskussion her. Nu i mellem dem, for loops, lad os faktisk har en anden, og denne ene er formål i livet er at faktisk gemme alle af disse navne og huse, der er øjeblikket i RAM til disk i form af kommaseparerede værdier. At gøre det, vi kommer til at bruge tre nye funktioner - F åben, F printf og F tæt på, som åbne en fil, udskrive til en fil, og at lukke en fil. Vi kan bruge dem som følger. FILE i alle caps, hvilket er noget af en nysgerrighed i C, bliver FIL fopen citat citat slut og nu et navn til fil, siger, students.CSV, men jeg kunne kalder det mest noget, komma og nu er jeg kommer til at angive en enkelt w inde af anførselstegn. W, som du måske har gættet allerede, betyder, at fopen skal åbne denne fil kaldet Students.CSV for at skrive så at vi faktisk kan spare nogle indhold til det. Lad os næste kontrol, hvis fil er ikke lig med nul. For hvis det er, har noget sikkert gået galt i hvilket tilfælde vi bør ikke fortsætte for at prøve at udskrive noget til det. Men hvis det ikke er null, så indersiden af krøllede parenteser jeg har tænkt mig at gentage fra i lig 0 på op til STUDERENDE, og jeg har tænkt mig at tilvækst i på hver iteration. Og inde i denne løkke, vil jeg fprintf så at udskrive til en fil - især det ene Jeg har allerede åbnet - en streng, der ligner denne% s,% s backslash n tæt citat. Og nu vil jeg sætte ind på hver af disse pladsholdere de faktiske værdier af en elevs navn og et hus ved hjælp af dot operatør. Studerende beslag i.name, studerende beslag i.house luk paren semikolon. Nu under denne for-løkke, jeg er simpelthen vil kalde fclose af fil for til sidst at lukke filen. Nu når jeg køre dette program, skal jeg ikke faktisk se noget på skærmen, men jeg skulle have efter at have kørt dette program en fil kaldet Students.CSV i samme mappe som Jeg køre kommandoen i at skulle indeholde en kommasepareret listen over værdier. Lad os tage et kig. Gør structs 1.. / Structs1 studerendes navn, lad os sige David, han vil leve i Mather. Studerendes navn, lad os sige, Lauren, hun vil leve i Leverett. Studerendes navn, lad os sige, Rob, han vil leve i Kirkland. Nu igen, som forventet, vises der intet at være sket, men lad mig gå videre ved kommandoprompten og type g redigere students.CSV i håb om at filen faktisk eksisterer. Gedit students.CSV ENTER, og ja, bemærker, at en fil, der indeholder rent tekst, men tekst adskilt af kommaer for hvert felt, eksisterer faktisk. Og hvis vi bruger, ikke CS50 apparat, men en mere velkendt Mac eller PC, viser det sig, at vi kunne faktisk åbne denne CSV-fil med en mere velkendt program som Excel eller Numbers.