1 00:00:00,000 --> 00:00:00,180 2 00:00:00,180 --> 00:00:02,920 >> Oratè 1: Se pou yo ekri yon pwogram ki vin yon fil ki soti nan itilizatè a san yo pa 3 00:00:02,920 --> 00:00:05,700 lè l sèvi avèk CS50 Bibliyotèk la a fonksyone GetString. 4 00:00:05,700 --> 00:00:08,720 Pou fè sa, nou pral ale pi devan epi sèvi ak skanf, fonksyon an ki GetString la 5 00:00:08,720 --> 00:00:10,950 fonksyon aktyèlman sèvi ak anba kapo a. 6 00:00:10,950 --> 00:00:13,780 Men, mwen pral fè sa fè espre nan yon fason buggy. 7 00:00:13,780 --> 00:00:17,230 Mwen pral fè nan yon fason ki mwen panse ke ta dwe gen dwa, men li sanble ke 8 00:00:17,230 --> 00:00:19,380 sipozisyon mwen an ale nan dwe byen, byen defekte. 9 00:00:19,380 --> 00:00:20,800 Apre sa, an reyalite, byen danjere. 10 00:00:20,800 --> 00:00:24,750 Paske pinèz tankou sa yo mwen se sou yo fè ka eksplwate pa vle wè 11 00:00:24,750 --> 00:00:28,870 sa yo ki machin ou oswa pwogram ou an pou yo ka pran plis pase potansyèlman. 12 00:00:28,870 --> 00:00:30,200 >> Se pou yo kòmanse jan sa a. 13 00:00:30,200 --> 00:00:33,540 Premye kite a deklare fisèl nou an, otreman li te ye kounye a kòm yon etwal Char, 14 00:00:33,540 --> 00:00:34,750 epi rele li s. 15 00:00:34,750 --> 00:00:39,400 Pèmèt pwochen de motive-itilizatè a pou yon fisèl, menm jan ak "fisèl tanpri." Apre sa, 16 00:00:39,400 --> 00:00:44,250 kite a kounye a jwenn fisèl la soti nan itilizatè a lè l sèvi avèk skanf, quote unquote, "% s." Nan 17 00:00:44,250 --> 00:00:47,760 lòt mo, se pou yo enfòme skanf ke nou an reyalite espere jwenn yon kòd 18 00:00:47,760 --> 00:00:48,630 soti nan itilizatè a. 19 00:00:48,630 --> 00:00:50,810 >> Men koulye a, nou bezwen di skanf yon lòt bagay - 20 00:00:50,810 --> 00:00:53,350 ki kote yo mete fisèl la ki itilizatè a bay. 21 00:00:53,350 --> 00:00:57,840 Oke, mwen pral byen tou senpleman kòmanse ak vigil la, ki espesifye ke mwen ta renmen 22 00:00:57,840 --> 00:00:59,320 skanf yo mete fisèl la a. 23 00:00:59,320 --> 00:01:04,818 Mwen kap vini an ale nan ekri ak lèt ​​detache soti yon bagay tankou printf "mèsi pou% s la 24 00:01:04,818 --> 00:01:10,670 antislach n vigil. "Apre sa, tankou toujou, mwen se ale nan pase nan fisèl, s la. 25 00:01:10,670 --> 00:01:14,920 Koulye a, kite a sove, konpile yo, kouri sa a pwogram, ak wè si nou pa ka pwovoke 26 00:01:14,920 --> 00:01:16,590 pwoblèm nan mwen prevwa. 27 00:01:16,590 --> 00:01:18,650 >> Fè skanf-1 an. 28 00:01:18,650 --> 00:01:20,960 ./scanf-1. 29 00:01:20,960 --> 00:01:21,830 Chèn tanpri. 30 00:01:21,830 --> 00:01:25,540 Se pou yo bay yon bagay tankou, "hello." "Mèsi pou nil la." O o, sa a pa 31 00:01:25,540 --> 00:01:26,750 sa mwen te ap tann. 32 00:01:26,750 --> 00:01:28,240 Se konsa, sa k ap pase sou isit la? 33 00:01:28,240 --> 00:01:32,040 >> Oke, li vire soti paske nou te deklare s kòm yon etwal Char men nou pa t ' 34 00:01:32,040 --> 00:01:36,120 aktyèlman ki estoke nan yo adrès la nan yon moso aktyèl la nan memwa, skanf pa t ' 35 00:01:36,120 --> 00:01:38,940 gen nenpòt kote yo mete fisèl la ki itilizatè a tape pous 36 00:01:38,940 --> 00:01:42,510 Vreman vre, si itilizatè a yo te kounye a tape nan yon kòd pi lontan ankò pase "hello," 37 00:01:42,510 --> 00:01:46,780 pou egzanp liy plizyè nan tèks oswa plizyè paragraf nan tèks, li trè 38 00:01:46,780 --> 00:01:50,280 posib ke nou ta ka pwovoke yon sa yo rele segmentation fay. 39 00:01:50,280 --> 00:01:53,570 >> Paske skanf a pa pral konnen ke Mwen pa t 'aktyèlman mete yon adrès 40 00:01:53,570 --> 00:01:54,610 andedan nan s. 41 00:01:54,610 --> 00:01:58,000 Olye de sa, li pral wè kèk valè nan s, gen kèk modèl nan Bits ki ka 42 00:01:58,000 --> 00:02:00,910 trè byen se yon valè fatra, gen jis pa chans. 43 00:02:00,910 --> 00:02:04,600 Apre sa, skanf se toujou ale pou yo eseye ekri fisèl la itilizatè nan adrès sa a, 44 00:02:04,600 --> 00:02:08,789 menm si li se yon valè fatra, ki te kapab tout bon pwovoke yon aksidan. 45 00:02:08,789 --> 00:02:10,130 >> Se konsa, kouman nou pral ranje sa a? 46 00:02:10,130 --> 00:02:12,523