2 00:00:00,000 --> 00:00:02,470 >> SPEAKER 1: Ejja jikteb programm li iqajjem l-utent għall-ismijiet u 3 00:00:02,470 --> 00:00:03,990 djar ta 'tliet studenti. 4 00:00:03,990 --> 00:00:07,300 Iżda pjuttost milli biss print out tagħhom ismijiet u djar għall-iskrin, ejja 5 00:00:07,300 --> 00:00:09,660 minflok tiffranka dik l-informazzjoni lill disk. 6 00:00:09,660 --> 00:00:14,530 Fi kliem ieħor, ejja joħolqu, ngħidu aħna, CSV file, għall-valuri separati virgola, 7 00:00:14,530 --> 00:00:17,720 li huwa attwalment biss fajl test li programmi bħal Excel jew Numri 8 00:00:17,720 --> 00:00:21,690 tista 'tiftaħ, u effettivament jiffranka dawk ismijiet u djar permanenti sabiex 9 00:00:21,690 --> 00:00:23,220 nistgħu jirreveduhom aktar tard. 10 00:00:23,220 --> 00:00:25,960 >> Biex tagħmel dan, ejja ewwel tagħti ħarsa lejn xi kodiċi boilerplate li stajt 11 00:00:25,960 --> 00:00:27,650 beda bil diġà. 12 00:00:27,650 --> 00:00:32,380 Avviż ewwel li fost l-intestaturi top up issa huwa lib.h standard li 13 00:00:32,380 --> 00:00:36,710 jiġri li jkollhom xi funzjonijiet relatati għall-fajl I / O, input fajl u output. 14 00:00:36,710 --> 00:00:39,560 Avviż li stajt ddikjarat ukoll kostanti imsejjaħ studenti - 15 00:00:39,560 --> 00:00:42,380 fil caps kollha - li l-valur huwa hard kkodifikati kif tlieta. 16 00:00:42,380 --> 00:00:45,820 Avviż issa li ġewwa ta 'prinċipali tiegħi programm, jien tiddikjara firxa ta ' 17 00:00:45,820 --> 00:00:50,270 daqs tliet jużaw dak kostanti imsejħa STUDENTI kull tal-membri li huwa ta ' 18 00:00:50,270 --> 00:00:51,650 tip istudenti. 19 00:00:51,650 --> 00:00:56,150 >> Recall issa li student aħna ser jiddefinixxu bħala li jkollhom isem u dar kemm ta ' 20 00:00:56,150 --> 00:01:00,410 li huma kordi bħala kull din dikjarazzjoni jordna, dot h. 21 00:01:00,410 --> 00:01:04,680 Issa lura fil structs1.c, avviż li jien jkunu a għal loop hawnhekk li għaddej biex 22 00:01:04,680 --> 00:01:06,750 jtenni minn żero sa tlieta. 23 00:01:06,750 --> 00:01:10,020 Huwa ser pront me għal tal student isem u d-dar ta 'student 24 00:01:10,020 --> 00:01:12,310 ġdid u għal darb'oħra u għal darb'oħra. 25 00:01:12,310 --> 00:01:15,620 >> Imbagħad fil-qiegħ ta 'dan il-programm, avviż li għandi ieħor għall loop 26 00:01:15,620 --> 00:01:19,970 li għaddej biex ħielsa l-istudent ith tal- isem u d-dar l-istudent ith fil a 27 00:01:19,970 --> 00:01:21,570 simili mibni loop. 28 00:01:21,570 --> 00:01:24,480 Biex tkun żgur, nistgħu jgħaqqdu dawk loops għal waħda biss, imma jien ridt li 29 00:01:24,480 --> 00:01:28,180 għandhom xi segmenti distinti ta 'kodiċi għall-fini ta 'diskussjoni hawn. 30 00:01:28,180 --> 00:01:31,920 >> Issa fl bejn dawk għall-linji, ejja attwalment ikollhom ieħor, u dan wieħed 31 00:01:31,920 --> 00:01:35,210 skop fil-ħajja huwa li attwalment jiffranka kollha ta 'dawn l-ismijiet u djar li huma 32 00:01:35,210 --> 00:01:39,810 attwalment fis-RAM disk fil-forma ta 'valuri separati virgola. 33 00:01:39,810 --> 00:01:42,080 Biex tagħmel dan, aħna qed tmur għall-użu tliet funzjonijiet ġodda - 34 00:01:42,080 --> 00:01:47,450 F miftuħa, F printf, u qrib F, li jiftaħ fajl, jistampaw għal fajl, u 35 00:01:47,450 --> 00:01:48,440 tagħlaq fajl. 36 00:01:48,440 --> 00:01:49,690 Nistgħu jużawhom kif ġej. 37 00:01:49,690 --> 00:01:52,110 38 00:01:52,110 --> 00:01:58,240 >> FAJL, fil-limiti kollha, li hija kemmxejn ta ' kurżità fis-C, FILE gets fopen 39 00:01:58,240 --> 00:02:03,020 unquote kwotazzjoni u issa isem għall- fajl, jiġifieri, students.CSV, imma I jistgħu 40 00:02:03,020 --> 00:02:08,150 sejħa hija xi ħaġa aktar, comma u issa jien ser tispeċifika waħda w ġewwa 41 00:02:08,150 --> 00:02:09,390 ta 'kwotazzjonijiet doppja. 42 00:02:09,390 --> 00:02:13,290 W, kif inti tista 'diġà guessed, ifisser li fopen għandha tiftaħ dan il-fajl 43 00:02:13,290 --> 00:02:17,360 sejjaħ Students.CSV għall-kitba sabiex li nistgħu attwalment tiffranka xi 44 00:02:17,360 --> 00:02:19,370 kontenut għaliha. 45 00:02:19,370 --> 00:02:23,080 >> Ejja kontroll li jmiss jekk fajl mhuwiex ugwali għal null. 46 00:02:23,080 --> 00:02:25,860 Għaliex jekk huwa, xi ħaġa għandha probabbilment marret ħażin f'liema każ aħna 47 00:02:25,860 --> 00:02:28,340 m'għandux jipproċedi biex tipprova li jistampaw xejn magħha. 48 00:02:28,340 --> 00:02:33,400 Imma jekk mhuwiex null, allura ġewwa tal- braces kaboċċi jien ser jtenni 49 00:02:33,400 --> 00:02:38,030 minn i egwali għal 0 fuq sa STUDENTI, u jien ser 50 00:02:38,030 --> 00:02:40,180 inkrement i fuq kull iterazzjoni. 51 00:02:40,180 --> 00:02:45,750 U ġewwa ta 'dan loop, I vais fprintf sabiex jistampaw għal fajl - 52 00:02:45,750 --> 00:02:47,940 speċifikament l-waħda I diġà miftuħa - 53 00:02:47,940 --> 00:02:54,650 string li tidher bħal dan% s,% s backslash n quote qrib. 54 00:02:54,650 --> 00:02:58,790 >> U issa nixtieq li plagg fil lil kull wieħed dawk placeholders il-valuri attwali 55 00:02:58,790 --> 00:03:03,390 isem ta 'student u dar jużaw l-operatur dot. 56 00:03:03,390 --> 00:03:10,030 I.name istudenti bracket, studenti paren qrib i.house bracket 57 00:03:10,030 --> 00:03:11,230 semi-colon. 58 00:03:11,230 --> 00:03:16,180 Issa hawn taħt dan għal loop, jien sempliċiment ser sejħa fclose tal-fajl sabiex 59 00:03:16,180 --> 00:03:18,520 li finalment tagħlaq il-fajl. 60 00:03:18,520 --> 00:03:21,360 >> Issa meta I run dan il-programm, I m'għandhomx attwalment tara xejn fuq il- 61 00:03:21,360 --> 00:03:25,010 screen, imma I għandu jkollhom wara running dan il-programm fajl imsejjaħ 62 00:03:25,010 --> 00:03:29,130 Students.CSV fl-istess direttorju li I imexxu l-kmand f'dak għandhom 63 00:03:29,130 --> 00:03:32,480 fihom comma separati lista ta 'valuri. 64 00:03:32,480 --> 00:03:34,790 Ejja tagħti ħarsa. 65 00:03:34,790 --> 00:03:41,690 >> Jagħmlu structs 1. / Istudent structs1 tal isem, ejja ngħidu David, 66 00:03:41,690 --> 00:03:43,140 hu ser jgħixu fl Mather. 67 00:03:43,140 --> 00:03:46,890 Isem istudent, ejja ngħidu, Lauren, hi ser jgħixu fl Leverett. 68 00:03:46,890 --> 00:03:50,800 Isem istudent, ejja ngħidu, Rob, hu ser jgħixu fil Kirkland. 69 00:03:50,800 --> 00:03:54,050 Issa, għal darb'oħra, kif mistenni, xejn jidher li ġara, iżda let me 70 00:03:54,050 --> 00:03:58,790 jimxi 'l quddiem fil-pront kmand u t-tip g jeditjaw students.CSV fil jittama li 71 00:03:58,790 --> 00:04:00,850 dan il-fajl tabilħaqq jeżisti. 72 00:04:00,850 --> 00:04:07,010 >> Gedit students.CSV ENTER, u tabilħaqq, avviż li fajl li fih purament 73 00:04:07,010 --> 00:04:11,320 test, iżda test separati mill-virgoli għal kull qasam, tabilħaqq jeżisti. 74 00:04:11,320 --> 00:04:14,530 U jekk aħna kienu jużaw, mhux il-CS50 appliance, iżda Mac aktar familjari jew 75 00:04:14,530 --> 00:04:18,080 PC, jirriżulta li nistgħu tabilħaqq tiftaħ dan il-fajl CSV ma 'aktar 76 00:04:18,080 --> 00:04:20,400 programm familjari bħal Excel jew Numri. 77 00:04:20,400 --> 00:04:22,906