1 00:00:00,000 --> 00:00:00,340 2 00:00:00,340 --> 00:00:01,960 >> Gjuha 1: Le tani fix se programi i fundit. 3 00:00:01,960 --> 00:00:04,920 Dhe këtë herë, le të caktojë në mënyrë të qartë disa kujtesës në të cilën 4 00:00:04,920 --> 00:00:06,550 input përdoruesit do të ruhen. 5 00:00:06,550 --> 00:00:09,600 Për ta bërë këtë, le të grihë në në atë të parë linjë e kodit ku kemi deklaruar s 6 00:00:09,600 --> 00:00:11,590 më parë që të jetë një yll char. 7 00:00:11,590 --> 00:00:14,210 Këtë herë, le të ri-declare kjo si vijon - 8 00:00:14,210 --> 00:00:19,380 char s kllapa 16, për shembull, kllapa ngushtë. 9 00:00:19,380 --> 00:00:23,690 >> Me fjalë të tjera, le të deklarojë s për të nuk ka më të gjatë të jetë një adresë e një karakter, 10 00:00:23,690 --> 00:00:26,610 por më tepër një sërë 16 karaktere. 11 00:00:26,610 --> 00:00:30,295 Në këtë mënyrë, përdoruesi mund të shtypni në deri në 15 karaktere dhe ende lënë hapësirë ​​për 12 00:00:30,295 --> 00:00:31,570 një terminator null. 13 00:00:31,570 --> 00:00:35,870 Le të vazhdojë për të shpëtuar, Hartimi, dhe Run këtë program. 14 00:00:35,870 --> 00:00:40,770 Bëni scanf2 dot Slash scanf2. 15 00:00:40,770 --> 00:00:45,100 Le tani shkruani një varg si përshëndetje, dhe ne jemi duke e falënderoi për përshëndetje. 16 00:00:45,100 --> 00:00:46,440 >> Tani, ka ende një problem. 17 00:00:46,440 --> 00:00:50,140 I shtypur vetëm në përshëndetje, e cila është vetëm pesë karaktere, plus 1 për null 18 00:00:50,140 --> 00:00:50,445 terminator. 19 00:00:50,445 --> 00:00:53,610 Kjo na lë me vetëm nevoja për gjashtë bytes. 20 00:00:53,610 --> 00:00:56,740 >> Por për fat të keq, ne vetëm ndarë 16 në total. 21 00:00:56,740 --> 00:01:01,305 Pra, nëse përdoruesi në fakt lloje në 16 karaktere, ose 17, ose disa qindra 22 00:01:01,305 --> 00:01:04,410 karaktere, ne jemi ende nuk do të keni vend të mjaftueshëm në kujtesë për 23 00:01:04,410 --> 00:01:05,400 input përdoruesit. 24 00:01:05,400 --> 00:01:07,750 Dhe në fakt, kjo është ajo që e bën duke marrë të dhëna përdoruesi në mënyrë 25 00:01:07,750 --> 00:01:08,940 e vështirë në përgjithësi. 26 00:01:08,940 --> 00:01:12,270 Dhe në të vërtetë, kjo është arsyeja pse ne zbatuar funksioni string get në e parë 27 00:01:12,270 --> 00:01:13,900 vend në bibliotekë CS50 - 28 00:01:13,900 --> 00:01:16,900 të kuptoj se si për të trajtuar ato situata ku lloje përdorues në 29 00:01:16,900 --> 00:01:19,710 më shumë karaktere shumë se ne parashikuar fillimisht. 30 00:01:19,710 --> 00:01:21,750 >> Sinqerisht, pa krejtësisht rishkrimin këtë program, 31 00:01:21,750 --> 00:01:23,290 nuk ka asnjë zgjidhje të pastër. 32 00:01:23,290 --> 00:01:26,970 Përkundrazi, ajo që ne do të duhet të bëni është të marrë një karakter nga një përdorues në një 33 00:01:26,970 --> 00:01:28,860 kohë, përsëri dhe përsëri. 34 00:01:28,860 --> 00:01:32,510 Dhe në çdo pikë në qoftë se ne kemi realizuar ne jemi jashtë kujtesës, ne do të duhet të në 35 00:01:32,510 --> 00:01:36,450 se pikë të kthehemi në dhe shpërndajnë të disa më shumë e kujtesës, kopje e shfrytëzuesit 36 00:01:36,450 --> 00:01:39,400 input mëparshme nga copë tonë të parë e kujtesës në re, 37 00:01:39,400 --> 00:01:40,810 copë më të madhe të kujtesës. 38 00:01:40,810 --> 00:01:44,610 Dhe pastaj të përsëritur këtë proces përsëri dhe përsëri derisa përdoruesi është bërë sigurimin e 39 00:01:44,610 --> 00:01:45,860 input tij ose të saj. 40 00:01:45,860 --> 00:01:48,246